<?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>86138</bug_id>
          
          <creation_ts>2012-05-10 14:02:58 -0700</creation_ts>
          <short_desc>Move WebSQL tests in LayoutTests/storage to websql directory</short_desc>
          <delta_ts>2012-05-21 14:30:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>86973</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>dbates</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>620931</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-10 14:02:58 -0700</bug_when>
    <thetext>LayoutTests/storage/ contains:

LayoutTests/storage/indexeddb/ - Indexed Database tests
LayoutTests/storage/domstorage/ - DOM Storage tests
LayoutTests/storage/*.{html,txt} - mostly WebSQL tests, with webkitStorageInfo mixed in

Moving the WebSQL tests to a dedicated directory would tidy things up. This is complicated by:

* StorageInfo tests which are also in LayoutTests/storage/
* Other non-WebSQL, non-StorageInfo tests???
* LayoutTests/storage/resources/ - used by WebSQL tests, maybe StorageInfo?
* Updating all platforms test expectations that refer to moved tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621001</commentid>
    <comment_count>1</comment_count>
      <attachid>141262</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-10 14:39:28 -0700</bug_when>
    <thetext>Created attachment 141262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621008</commentid>
    <comment_count>2</comment_count>
      <attachid>141264</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-10 14:43:07 -0700</bug_when>
    <thetext>Created attachment 141264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>621020</commentid>
    <comment_count>3</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-10 14:45:44 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; * StorageInfo tests which are also in LayoutTests/storage/

Left those alone.

&gt; * Other non-WebSQL, non-StorageInfo tests???

None.

&gt; * LayoutTests/storage/resources/ - used by WebSQL tests, maybe StorageInfo?

Only used by WebSQL tests, so moved that whole directory. Also, none of the WebSQL tests used resources elsewhere in the tree (no script src=&quot;../...&quot;) so none of the *.html/*.js/*-expected.txt files needed editing.

&gt; * Updating all platforms test expectations that refer to moved tests

Done. Passes cleanly locally for me with Chromium/Linux port, we&apos;ll see what the bots say.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623201</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-14 12:19:38 -0700</bug_when>
    <thetext>Also need to ensure that no ports (e.g. Chromium) are running WebKit LayoutTests under other test harnesses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>625852</commentid>
    <comment_count>5</comment_count>
      <attachid>142343</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-16 14:09:36 -0700</bug_when>
    <thetext>Created attachment 142343
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627899</commentid>
    <comment_count>6</comment_count>
      <attachid>142343</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-18 12:07:58 -0700</bug_when>
    <thetext>Comment on attachment 142343
Patch

rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627900</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-18 12:09:02 -0700</bug_when>
    <thetext>assuming you didn&apos;t break any tests :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627907</commentid>
    <comment_count>8</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-18 12:11:54 -0700</bug_when>
    <thetext>Not technically blocked on 85742 but I&apos;m not desperate enough to land this to get an svn checkout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629278</commentid>
    <comment_count>9</comment_count>
      <attachid>143062</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-21 11:05:47 -0700</bug_when>
    <thetext>Created attachment 143062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629280</commentid>
    <comment_count>10</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-21 11:07:28 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=143062) [details]
&gt; Patch

No need for review, already got an R+ from rniwa

Uploading again now that https://bugs.webkit.org/show_bug.cgi?id=86973 is fixed and the bots should give this a real try. Also, EFL / GTK expectations needed updating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629335</commentid>
    <comment_count>11</comment_count>
      <attachid>143071</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-21 11:52:56 -0700</bug_when>
    <thetext>Created attachment 143071
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629424</commentid>
    <comment_count>12</comment_count>
      <attachid>143071</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 13:17:02 -0700</bug_when>
    <thetext>Comment on attachment 143071
Patch for landing

Rejecting attachment 143071 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
WebKit/chromium/v8 --revision 11594 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
47&gt;At revision 11594.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...
Total errors found: 0 in 2 files

Full output: http://queues.webkit.org/results/12739551</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629447</commentid>
    <comment_count>13</comment_count>
      <attachid>143089</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-05-21 13:44:04 -0700</bug_when>
    <thetext>Created attachment 143089
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629496</commentid>
    <comment_count>14</comment_count>
      <attachid>143089</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 14:30:19 -0700</bug_when>
    <thetext>Comment on attachment 143089
Patch for landing

Clearing flags on attachment: 143089

Committed r117816: &lt;http://trac.webkit.org/changeset/117816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629498</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-21 14:30:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141262</attachid>
            <date>2012-05-10 14:39:28 -0700</date>
            <delta_ts>2012-05-10 14:43:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86138-20120510143927.patch</filename>
            <type>text/plain</type>
            <size>281998</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MzkzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGRhY2QxM2I0ODcyNDE0Njg5ZTVk
Y2YzODIzODgwZWU5MmZlYWViYy4uNjA3M2NkMmNlMjJjM2VhNjMwOTU3ZTZlNjY4NjQxYjRlNDc1
ODM4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MiBAQAorMjAxMi0wNS0xMCAgSm9zaHVhIEJlbGwgIDxq
c2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgV2ViU1FMIHRlc3RzIGluIExheW91
dFRlc3RzL3N0b3JhZ2UgdG8gd2Vic3FsIGRpcmVjdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdl
L3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1t
YWMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1h
Yy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50
eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFn
ZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3N0YXRlbWVudC1l
cnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1l
eHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13
aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxs
YmFjay1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93
ZWJzcWwvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNv
ZGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
ZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdl
L2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9j
aGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0
LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5k
bGUtcmV1c2UuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1o
YW5kbGUtcmV1c2UuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12
ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcy4KKyAgICAgICAgKGZpbmlzaFRlc3QpOgorICAgICAgICAo
cnVuVGVzdC5jYXRjaCk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJ1blRlc3QyLmNh
dGNoKToKKyAgICAgICAgKHJ1blRlc3QyKToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQ6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9u
LXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1w
cmVmbGlnaHQtZmFpbHVyZS5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12
ZXJzaW9uLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJz
aW9uLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10
ZXN0LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvY2xvc2Ut
ZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0Lmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBl
Y3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1y
ZWxvYWQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9j
ay1hZnRlci1yZWxvYWQuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0
ZW1lbnQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0
eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2VtcHR5
LXN0YXRlbWVudC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1z
dGF0ZW1lbnQuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdz
LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1z
cWwtYXJncy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1z
cWwtYXJncy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNx
bC1hcmdzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5q
czogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5qcy4K
KyAgICAgICAgKHRocm93T25Ub1N0cmluZ09iamVjdC50b1N0cmluZyk6CisgICAgICAgICh2YXIp
OgorICAgICAgICAodHJ5RXhlY3V0ZVNxbCk6CisgICAgICAgIChydW5UcmFuc2FjdGlvblRlc3Qp
OgorICAgICAgICAocnVuVHJhbnNhY3Rpb25UZXN0cyk6CisgICAgICAgIChydW5UZXN0KToKKyAg
ICAgICAgKiBzdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVt
ZW50LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0
ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQuCisgICAgICAgICog
c3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1s
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25s
eS1vbmUtc3RhdGVtZW50Lmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUt
ZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24t
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNl
cy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3Jh
Z2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanM6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJi
YWdlLWNvbGxlY3Rpb24uanMuCisgICAgICAgIChHQyk6CisgICAgICAgIChjaGVja0NvbXBsZXRp
b24pOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhw
ZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFu
c2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlv
bnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9t
dWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanM6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQt
aGFuZGxlcy5qcy4KKyAgICAgICAgKGNoZWNrQ29tcGxldGlvbik6CisgICAgICAgIChvcGVuVGVz
dERhdGFiYXNlKToKKyAgICAgICAgKHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAg
IChzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKHJ1blRyYW5zYWN0aW9uKToKKyAg
ICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5z
YWN0aW9ucy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10
cmFuc2FjdGlvbnMuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFu
c2FjdGlvbnMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRy
YW5zYWN0aW9ucy5qcy4KKyAgICAgICAgKGNoZWNrQ29tcGxldGlvbik6CisgICAgICAgIChydW5U
ZXN0LmRiKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL251
bGwtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3Jh
Z2UvbnVsbC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L251bGwtY2FsbGJhY2tzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL251
bGwtY2FsbGJhY2tzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFz
ZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0Lgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVj
dGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9u
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9z
dG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRt
bC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxi
YWNrLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
Y3JlYXRpb24tY2FsbGJhY2suaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sOiBS
ZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNp
b24uaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVv
dGEtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRh
dGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdl
L3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVy
c2lvbi1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFz
ZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
d2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS13aGls
ZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuanM6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3MuanMuCisgICAgICAgIChvcGVuVGVzdERhdGFiYXNlKToKKyAgICAgICAgKHJ1
blRlc3QuZGIxLnRyYW5zYWN0aW9uKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVh
ZC1ub3dyaXRlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9wcml2YXRl
LWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9z
dG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dC4KKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9xdW90YS10cmFja2luZy5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBlY3Rl
ZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRy
YW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3Rv
cmFnZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVy
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRy
YW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qczogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25z
LWRvbnQtcnVuLXRvZ2V0aGVyLmpzLgorICAgICAgICAodGVybWluYXRlVGVzdCk6CisgICAgICAg
IChvcGVuVGVzdERhdGFiYXNlKToKKyAgICAgICAgKHJ1blRyYW5zYWN0aW9uKToKKyAgICAgICAg
KHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1
bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmct
Y29uY3VycmVudGx5Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQt
dHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5Lmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvcmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qczogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcy4KKyAgICAgICAgKG9w
ZW5EYXRhYmFzZVdpdGhTdWZmaXgpOgorICAgICAgICAobG9nKToKKyAgICAgICAgKHNldExvY2F0
aW9uSGFzaCk6CisgICAgICAgIChzZXR1cEFuZFJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uv
d2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVy
LXJlbG9hZC0yLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcmVzb3VyY2VzL3N0cmVz
cy1mcmFtZS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNvdXJjZXMv
c3RyZXNzLWZyYW1lLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlw
ZXMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0
YS10eXBlcy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEt
dHlwZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlw
ZXMuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zcWwtZGF0YS10eXBlcy5qczogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMuanMuCisgICAgICAg
ICh3cml0ZU1lc3NhZ2VUb0xvZyk6CisgICAgICAgIChub3RpZnlEb25lKToKKyAgICAgICAgKHNo
b3VsZEJlU2FtZVR5cGVBbmRWYWx1ZSk6CisgICAgICAgICh0ZXN0REJWYWx1ZXMpOgorICAgICAg
ICAoZmV0Y2hEQlZhbHVlc1N0bXQpOgorICAgICAgICAoaW5zZXJ0VGVzdFZhbHVlc1N0bXQpOgor
ICAgICAgICAoY3JlYXRlVGVzdERCU3RtdCk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5odG1sOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuaHRtbC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9z
dG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5qcy4KKyAgICAgICAgKGZpbmlzaFRlc3QpOgorICAgICAg
ICAodHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKToKKyAgICAgICAgKHRyYW5zYWN0aW9uU3VjY2Vz
c0NhbGxiYWNrKToKKyAgICAgICAgKHRlc3RUcmFuc2FjdGlvbik6CisgICAgICAgICh0ZXN0VHJh
bnNhY3Rpb25UaHJvd3NFeGNlcHRpb24pOgorICAgICAgICAodGVzdFRyYW5zYWN0aW9uRmFpbHVy
ZUJlY2F1c2VPZlN0YXRlbWVudEZhaWx1cmUpOgorICAgICAgICAodGVzdEludmFsaWRTdGF0ZW1l
bnQpOgorICAgICAgICAodGVzdEluY29ycmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMpOgorICAg
ICAgICAodGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZS5iYWRTdHJpbmcudG9TdHJpbmcpOgor
ICAgICAgICAodGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZSk6CisgICAgICAgICh0ZXN0UXVv
dGFFeGNlZWRlZCk6CisgICAgICAgICh0ZXN0VmVyc2lvbk1pc21hdGNoLmRiLnRyYW5zYWN0aW9u
KToKKyAgICAgICAgKHRlc3RWZXJzaW9uTWlzbWF0Y2gpOgorICAgICAgICAocnVuVGVzdCk6Cisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVk
LnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQt
ZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAg
ICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0
bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50
eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3Rh
dGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNhbGxiYWNrLmh0bWwuCisgICAgICAgICogc3Rv
cmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dC4KKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuaHRtbDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvdGVzdC1hdXRob3JpemVyLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS90ZXN0LWF1dGhvcml6ZXIuanMuCisgICAgICAgICh0ZXJtaW5hdGVUZXN0KToKKyAgICAgICAg
KGxvZ0FuZFRlcm1pbmF0ZVRlc3QpOgorICAgICAgICAoY2xlYW51cCk6CisgICAgICAgIChzdGF0
ZW1lbnRTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAoc3RhdGVtZW50RXJyb3JDYWxsYmFjayk6
CisgICAgICAgIChleGVjdXRlU3RhdGVtZW50KToKKyAgICAgICAgKGNyZWF0ZVRhYmxlQ2FsbGJh
Y2spOgorICAgICAgICAoY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKG90aGVy
U3RhdGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2spOgor
ICAgICAgICAodGVzdFJlYWRXcml0ZU1vZGUpOgorICAgICAgICAodGVzdFJlYWRPbmx5TW9kZS5k
Yik6CisgICAgICAgICh0ZXN0UmVhZE9ubHlNb2RlKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFz
aC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3Rv
cmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWw6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2Vw
dGlvbi1jcmFzaC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50
eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJh
bnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sLgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Ry
YW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKwogMjAxMi0w
NS0wNyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBBZGQgZXhwZWN0YXRpb25zIGZvciBmaXJzdC1saW5lLXRleHQtZGVjb3JhdGlvbi5odG1s
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uv
c3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5MzlhY2RkYWFlZjQ3YzY0MzJi
ZDU2ZGEzMzQ0OGVlY2NhZjdkZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3Rh
dGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2NzogVW5jYXVnaHQgRXhjZXB0aW9uIGlu
IHN0YXRlbWVudCBlcnJvciBjYWxsYmFjawotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSB0cmFu
c2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBhIHN0YXRl
bWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMgdHJ1ZSwg
b3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJv
ciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2Fs
bGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNr
IHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMg
aW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgot
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAt
IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRo
ZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotVGVzdCBDb21wbGV0
ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFn
ZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJh
Y2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDlhYjBlNzEwMmNjZjFmNmI4NjI1NzY1MWRmNGQwYTdlMmFhODI3YS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jh
c2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMTM6IFVuY2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgotSWYgV2Vi
S2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1j
YWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMv
c3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjZDlkY2ZmZjA1OThiNGM4OTk1MmYzYmEzNThmYzc4ZDNm
YjgwY2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3It
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDYzOiBVbmNhdWdodCAjPE9iamVjdD4KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNR
TFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJk
bGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNr
IG9uIGZhaWx1cmUuCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJy
b3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCi1UZXN0aW5nIHRyYW5zYWN0aW9u
IGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VT
UwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJv
ciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3Rpbmcgc3RhdGVtZW50IGNh
bGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZh
bHNlIDogU1VDQ0VTUwotQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1l
cnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OTM5YWNkZGFhZWY0N2M2NDMyYmQ1NmRhMzM0NDhlZWNjYWY3ZGVlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3Jh
Z2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3OiBVbmNhdWdodCBFeGNlcHRpb24gaW4g
c3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCitUaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHRyYW5z
YWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBvbmx5IGlmIGEgc3RhdGVt
ZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgcmV0dXJucyB0cnVlLCBv
ciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sg
d2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBp
bnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tl
ZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQ
QVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNT
IC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0g
dGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhl
IHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitUZXN0IENvbXBsZXRl
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdl
L3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDlhYjBlNzEwMmNjZjFmNmI4NjI1NzY1MWRmNGQwYTdlMmFhODI3YQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBVbmNhdWdodCBUcmFuc2FjdGlvbkNhbGxi
YWNrRXJyb3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFzIHBhc3NlZApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1j
YWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NkOWRjZmZmMDU5OGI0Yzg5OTUyZjNi
YTM1OGZjNzhkM2ZiODBjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVu
Y2F1Z2h0ICM8T2JqZWN0PgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBVbmNhdWdodCAjPE9i
amVjdD4KK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUg
dHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCitUZXN0aW5nIHRy
YW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRy
dWUgOiBTVUNDRVNTCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJy
b3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2Fs
bGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1
ZSA6IFNVQ0NFU1MKK1Rlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlv
biBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUworQWxsIFRlc3Rz
IGFyZSBjb21wbGV0ZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0td2luL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1j
YWxsYmFjay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5Mzlh
Y2RkYWFlZjQ3YzY0MzJiZDU2ZGEzMzQ0OGVlY2NhZjdkZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2NzogVW5jYXVn
aHQgRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjawotVGhpcyB0ZXN0IGNvbmZp
cm1zIHRoYXQgYSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQg
b25seSBpZiBhIHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24s
IHJldHVybnMgdHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotUEFTUyAtIHRoZSB0
cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNh
Y3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9u
IGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJv
ciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2Fs
bGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNr
IHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdh
cyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBp
bnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgotVGVzdCBDb21wbGV0ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2UvdHJh
bnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDlhYjBlNzEwMmNjZjFmNmI4NjI1NzY1MWRmNGQwYTdlMmFh
ODI3YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFj
ay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCww
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFVuY2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJh
Y2tFcnJvcgotSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjZDlkY2ZmZjA1OThiNGM4OTk1
MmYzYmEzNThmYzc4ZDNmYjgwY2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2UvdHJh
bnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
OSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0Pgot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBVbmNhdWdodCAjPE9iamVjdD4KLVRoaXMgdGVzdCBj
b25maXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJl
Y3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3
YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcg
bWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCi1UZXN0
aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJu
IGZhbHNlIDogU1VDQ0VTUwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhj
ZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3Rp
bmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJh
Y2sgcmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUwotQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTM5YWNkZGFhZWY0N2M2NDMyYmQ1NmRhMzM0
NDhlZWNjYWY3ZGVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3OiBVbmNhdWdo
dCBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCitUaGlzIHRlc3QgY29uZmly
bXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBv
bmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwg
cmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCitQQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2Fj
dGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
ZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sg
d2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQu
CitUZXN0IENvbXBsZXRlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jh
c2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3Jh
Z2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDlhYjBlNzEwMmNjZjFmNmI4NjI1NzY1MWRmNGQwYTdlMmFhODI3YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9y
YWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBVbmNhdWdodCBU
cmFuc2FjdGlvbkNhbGxiYWNrRXJyb3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRl
c3QgaGFzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NkOWRjZmZm
MDU5OGI0Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1l
cnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYz
OiBVbmNhdWdodCAjPE9iamVjdD4KK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5zYWN0
aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBp
dHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1
cmUuCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJh
Y2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcg
bWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUworVGVzdGlu
ZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFj
ayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRo
cm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDogU1VD
Q0VTUworQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODI5YmQ4ZDkxYTk5NTdmMzI1
YzM4MGJkMjkwMTljYjgwZGUxMTcyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3F1b3Rh
LXRyYWNraW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVRo
aXMgdGVzdCBjaGVja3MgdG8gbWFrZSBzdXJlIHRoYXQgcXVvdGFzIGFyZSBlbmZvcmNlZCBwZXIt
b3JpZ2luIGluc3RlYWQgb2YgcGVyLWRhdGFiYXNlLCBhcyB0aGV5IHdlcmUgcHJpb3IgdG8gaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9wcm9qZWN0cy93ZWJraXQvY2hhbmdlc2V0LzI5OTgzLgotVGhl
IHRlc3QgY2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2lu
IHRvIDQwaywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJh
c2VzLiBJZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZh
aWwsIHRoZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1
b3RhIGFuZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0
aW5nIDE3ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotQWRk
aW5nIGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGlu
ZyBhIHRhYmxlCi1JbnNlcnRpbmcgc29tZSBkYXRhCi1FeHBlY3RlZCBxdW90YSBleGNlcHRpb24g
LSB0aGVyZSB3YXMgbm90IGVub3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0
b3JhZ2UgcXVvdGEgd2FzIHJlYWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1v
cmUgc3BhY2UKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxlCi1JbnNlcnRpbmcgc29t
ZSBkYXRhCi1VbmV4cGVjdGVkIGV4Y2VwdGlvbiAtIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFp
bmluZyBzdG9yYWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQg
dGhlIHVzZXIgZGVjbGluZWQgdG8gYWxsb3cgbW9yZSBzcGFjZQotVGVzdCBDb21wbGV0ZQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJv
ci1jb2Rlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9y
YWdlL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDlhNjI2YmNjMzI0MmQwMTAwOTI3MzEzNTNjNzZkYzJjZjRiZWVkNWMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM3OiBVbmNhdWdo
dCBFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0aW9uIGNhbGxiYWNrLgotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDY5OiBVbmNhdWdodCBDYW5ub3QgY2FsbCB0b1N0cmluZygpIG9uIHRoaXMgb2Jq
ZWN0LgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJvciBjb2RlcyByZXBvcnRlZCBpbiBleGNlcHRp
b25hbCBzaXR1YXRpb25zLgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05P
V05fRVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBB
U1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCi1QQVNTOiBleHBlY3Rl
ZCBhbmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBl
cnJvciBjb2RlIFVOS05PV05fRVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUg
UVVPVEFfRVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVkVSU0lPTl9FUlIK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93ZWJz
cWwvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjgyOWJkOGQ5MWE5OTU3ZjMyNWMzODBiZDI5MDE5Y2I4MGRlMTE3MjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90
YS10cmFja2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVh
ZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMuCitUaGUgdGVzdCBjbGVhcnMg
YWxsIGRhdGFiYXNlcywgc2V0cyB0aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4gdG8gNDBrLCB0aGVu
IHRyaWVzIHRvIGluc2VydCAxN2sgb2YgZGF0YSBpbnRvIHR3byBkYXRhYmFzZXMuIElmIHRoaW5n
cyBnbyBhcyBwbGFubmVkLCB0aGUgc2Vjb25kIGluc2VydCBzaG91bGQgZmFpbCwgdGhlIFVJIERl
bGVnYXRlIHNob3VsZCBiZSBpbmZvcm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVvdGEgYW5kIHNob3Vs
ZCBpbmNyZWFzZSB0aGUgcXVvdGEgZm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRpbmcgMTdrIG9mIGRh
dGEgdGhlIHRoaXJkIHRpbWUgc2hvdWxkIHN1Y2NlZWQgYWdhaW4uCitBZGRpbmcgYSB0YWJsZQor
SW5zZXJ0aW5nIHNvbWUgZGF0YQorRG9uZSBhZGRpbmcgZGF0YQorQWRkaW5nIGEgdGFibGUKK0lu
c2VydGluZyBzb21lIGRhdGEKK0V4cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtIHRoZXJlIHdhcyBu
b3QgZW5vdWdoIHJlbWFpbmluZyBzdG9yYWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3
YXMgcmVhY2hlZCBhbmQgdGhlIHVzZXIgZGVjbGluZWQgdG8gYWxsb3cgbW9yZSBzcGFjZQorRG9u
ZSBhZGRpbmcgZGF0YQorQWRkaW5nIGEgdGFibGUKK0luc2VydGluZyBzb21lIGRhdGEKK1VuZXhw
ZWN0ZWQgZXhjZXB0aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ug
c3BhY2UsIG9yIHRoZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNs
aW5lZCB0byBhbGxvdyBtb3JlIHNwYWNlCitUZXN0IENvbXBsZXRlCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rl
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dl
YnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhNjI2YmNjMzI0
MmQwMTAwOTI3MzEzNTNjNzZkYzJjZjRiZWVkNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNzogVW5j
YXVnaHQgRXhjZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4KK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA2OTogVW5jYXVnaHQgQ2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlz
IG9iamVjdC4KK1RoaXMgdGVzdCB0ZXN0cyB0aGUgZXJyb3IgY29kZXMgcmVwb3J0ZWQgaW4gZXhj
ZXB0aW9uYWwgc2l0dWF0aW9ucy4KK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBV
TktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJS
CitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VSUgorUEFTUzogZXhw
ZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZTlRBWF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBn
b3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBj
b2RlIFFVT1RBX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFZFUlNJT05f
RVJSCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dAppbmRleCAwZjMzNWIxMmRiYTZlOTExNGUyOTI1MDQxNWQ0ZDliZTBhZmMzZDZl
Li44Njg4ZWM4YWQ0NWY2OGZkMWQzYzY1MjI2NTIzNmY4OTQxYmQ1YjI3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC01
NzksNyArNTc5LDcgQEAgV09OVEZJWCBTS0lQIDogcGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1v
ZGUuaHRtbCA9IEZBSUwKIFdPTlRGSVggU0tJUCA6IHBsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1t
b2RlLTIuaHRtbCA9IFRFWFQKIFdPTlRGSVggU0tJUCA6IHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2Nh
bHN0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1hZmZlY3RzLXN0b3JhZ2UuaHRtbCA9IEZBSUwKIFdP
TlRGSVggU0tJUCA6IHN0b3JhZ2UvZG9tc3RvcmFnZS9zZXNzaW9uc3RvcmFnZS9wcml2YXRlLWJy
b3dzaW5nLWFmZmVjdHMtc3RvcmFnZS5odG1sID0gRkFJTAotV09OVEZJWCBTS0lQIDogc3RvcmFn
ZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwgPSBQQVNTCitXT05URklYIFNL
SVAgOiBzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwg
PSBQQVNTCiAKIC8vIFdlIGRvbid0IGxldCBhbnlvbmUgc2V0IHN0YXR1cyBpbiB0aGUgYnJvd3Nl
ci4KIFdPTlRGSVggU0tJUCA6IHBsdWdpbnMvc2V0LXN0YXR1cy5odG1sID0gVEVYVApAQCAtMTg2
Myw3ICsxODYzLDcgQEAgQlVHX0pBUEhFVCBXSU4gOiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L3htbGh0dHByZXF1ZXN0LTUwbXMtZG93bmxvYWQtZGlzcGF0Y2gKIC8vIER1ZSB0byB0aGUgZGlm
ZmVyZW5jZXMgaW4gaGFuZGxpbmcgdGV4dCBlbmNvZGluZ3MgaW4gS1VSTCBhbmQgZ29vZ2xldXJs
LgogQlVHV0syMDU1OSA6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9hbmNob3ItZnJhbWVzLWdiay5o
dG1sID0gVEVYVAogCi1CVUdXSzM2NjY2IDogc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVv
dGEuaHRtbCA9IFRFWFQKK0JVR1dLMzY2NjYgOiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNl
LW92ZXItcXVvdGEuaHRtbCA9IFRFWFQKIAogQlVHV0szNzI4MyA6IGZhc3Qvb3ZlcmZsb3cvc2Ny
b2xsYmFyLXJlc3RvcmVkLWFuZC10aGVuLWxvY2tlZC5odG1sID0gVEVYVAogCkBAIC0yMTA5LDcg
KzIxMDksNyBAQCBCVUdXSzYzMDU3IFJFTEVBU0UgOiBwZXJmL2FkZGluZy1yYWRpby1idXR0b25z
Lmh0bWwgPSBNSVNTSU5HIEZBSUwgUEFTUwogLy8gRmFpbGluZyBhZnRlciBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC82NTY2NS8KIAogLy8gbmV3IG9yIGZhaWxpbmcgc2luY2UgV2Vi
S2l0IHJldi4gNjU3NDA6NjU4MDAKLUJVR0NSNTMwNzMgU0tJUCBERUJVRyA6IHN0b3JhZ2UvY2hh
bmdlLXZlcnNpb24uaHRtbCA9IFBBU1MgQ1JBU0gKK0JVR0NSNTMwNzMgU0tJUCBERUJVRyA6IHN0
b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLmh0bWwgPSBQQVNTIENSQVNICiAKIC8vIHI2NjE0
NCBhZGRlZCB0ZXN0cyB0byB0ZXN0IHVzZXIgc2NyaXB0cyBvbiBzcGVjaWFsIGRvY3VtZW50cywg
YW5kIExpbnV4IGNhbid0CiAvLyBwYXNzIHRoZW0gYmVjYXVzZSB0aGV5IHJlbHkgb24gUXVpY2tU
aW1lIGJlaW5nIGluc3RhbGxlZC4gV2Ugd29udGZpeCB0aGVzZQpAQCAtMzUzMCw5ICszNTMwLDkg
QEAgQlVHV0s4MjEyOSBNQUMgOiBmYXN0L2Jsb2NrL2xpbmVib3hjb250YWluL2dseXBocy5odG1s
ID0gVEVYVAogCiBCVUdXSzgyNjY5IExJTlVYIFdJTiBMRU9QQVJEIDogZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvc3BhY2VzLWNvbWJpbmVkLWluLXZlcnRpY2FsLXRleHQuaHRtbCA9IFRFWFQKIAot
QlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6IHN0b3JhZ2UvcXVvdGEtdHJhY2tpbmcuaHRtbCA9IFBB
U1MgVElNRU9VVAotQlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6IHN0b3JhZ2UvZXhlY3V0ZXNxbC1h
Y2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sID0gUEFTUyBUSU1FT1VUCi1CVUdXSzgyNzE3
IFNOT1dMRU9QQVJEIDogc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sID0g
UEFTUyBUSU1FT1VUCitCVUdXSzgyNzE3IFNOT1dMRU9QQVJEIDogc3RvcmFnZS93ZWJzcWwvcXVv
dGEtdHJhY2tpbmcuaHRtbCA9IFBBU1MgVElNRU9VVAorQlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6
IHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRt
bCA9IFBBU1MgVElNRU9VVAorQlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6IHN0b3JhZ2Uvd2Vic3Fs
L2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwgPSBQQVNTIFRJTUVPVVQKIAogLy8gVGhl
c2UgdGVzdHMgZGVwZW5kcyBvbiBXb3JrZXIgYmVoYXZpb3IgdGhhdCBpcyBicm9rZW4gaW4gRFJU
CiBCVUdXSzgyNzc2IFNLSVAgOiBzdG9yYWdlL2luZGV4ZWRkYi9kb250LWNvbW1pdC1vbi1ibG9j
a2VkLmh0bWwgPSBQQVNTIEZBSUwKQEAgLTM2ODMsNyArMzY4Myw3IEBAIEJVR1dLODUxNzQgOiBm
YXN0L2ZpbGVzeXN0ZW0vZmlsZS13cml0ZXItZ2MtYmxvYi5odG1sID0gVElNRU9VVAogQlVHV0s4
NTE3NCA6IGZhc3QvZmlsZXN5c3RlbS93b3JrZXJzL2ZpbGUtd3JpdGVyLWdjLWJsb2IuaHRtbCA9
IFRFWFQKIEJVR1dLODUxNzQgTUFDIExJTlVYIDogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmls
ZS13cml0ZXItc3luYy10cnVuY2F0ZS1leHRlbmQuaHRtbCA9IFRFWFQKIEJVR1dLODUxNzQgOiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2ZpbGVzeXN0ZW0taWZyYW1lLWZyb20tcmVtb3RlLmh0bWwgPSBU
RVhUCi1CVUdXSzg1MTc0IDogc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy5odG1sID0gVEVYVAor
QlVHV0s4NTE3NCA6IHN0b3JhZ2UvaW5kZXhlZGRiL25vYmxvYnMuaHRtbCA9IFBBU1MgVEVYVAog
CiBCVUdXSzg1MTIwIDogZmFzdC9qcy90b1N0cmluZy1udW1iZXIuaHRtbCA9IFRFWFQKIApAQCAt
MzkwNCw4ICszOTA0LDggQEAgQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogaHR0cC90
ZXN0cy9sb2FkaW5nLzMwNy1hZnRlci0zMDMtYWZ0ZXItcG9zdC5odG0KIEJVR1dLODMwNzYgU05P
V0xFT1BBUkQgUkVMRUFTRSA6IGh0dHAvdGVzdHMvbWlzYy9vYmplY3QtZW1iZWRkaW5nLXN2Zy1k
ZWxheWVkLXNpemUtbmVnb3RpYXRpb24ueGh0bWwgPSBUSU1FT1VUIFBBU1MKIEJVR1dLODMwNzYg
U05PV0xFT1BBUkQgUkVMRUFTRSA6IHBsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2NhbnZh
cy9waGlsaXAvdGVzdHMvMmQudGV4dC1jdXN0b20tZm9udC1sb2FkLWNyYXNoLmh0bWwgPSBUSU1F
T1VUIFBBU1MKIEJVR1dLODMwNzYgU05PV0xFT1BBUkQgUkVMRUFTRSA6IHBsYXRmb3JtL2Nocm9t
aXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzLzJkLnRleHQuZHJhdy5maWxsLm1heFdpZHRoLmdy
YWRpZW50Lmh0bWwgPSBUSU1FT1VUIFBBU1MKLUJVR1dLODMwNzYgU05PV0xFT1BBUkQgUkVMRUFT
RSA6IHN0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVy
Lmh0bWwgPSBUSU1FT1VUIFBBU1MKLUJVR1dLODMwNzYgU05PV0xFT1BBUkQgUkVMRUFTRSA6IHN0
b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbCA9IFRJTUVP
VVQgUEFTUworQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogc3RvcmFnZS93ZWJzcWwv
cmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwgPSBUSU1F
T1VUIFBBU1MKK0JVR1dLODMwNzYgU05PV0xFT1BBUkQgUkVMRUFTRSA6IHN0b3JhZ2Uvd2Vic3Fs
L3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5Lmh0bWwgPSBUSU1FT1VUIFBB
U1MKIAogQlVHRFBSQU5LRSBNQUMgTElOVVggUkVMRUFTRSA6IGZhc3QvbG9hZGVyL2phdmFzY3Jp
cHQtdXJsLWluLWVtYmVkLmh0bWwgPSBURVhUIFBBU1MKIEJVR0RQUkFOS0UgTUFDIExJTlVYIDog
aHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLmh0bWwgPSBU
RVhUIFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC90ZXN0X2V4cGVj
dGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvdGVzdF9leHBlY3RhdGlvbnMu
dHh0CmluZGV4IDA5NDhjYWM1MmFiYzIyMmJmN2I5Y2I2Yzg1NzQ3MGQyOGQ0ZmE2ZGIuLjdmZGJh
YTRjODk1ZThlODIxZWViOGRjN2FhYjllZTBmOWZjOTc1ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtNjksMTIgKzY5LDEyIEBAIEJV
R1dLRUZMIFNLSVAgOiBzdG9yYWdlL2RvbXN0b3JhZ2UvbG9jYWxzdG9yYWdlL3N0b3JhZ2V0cmFj
a2VyID0gRkFJTAogCiAvLyBFRkwncyBMYXlvdXRUZXN0Q29udHJvbGxlciBkb2VzIG5vdCBpbXBs
ZW1lbnQgZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQuCiBCVUdXS0VGTCBTS0lQIDogaHR0
cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkID0gRkFJTAotQlVHV0tFRkwgU0tJUCA6IHN0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1s
ID0gRkFJTAotQlVHV0tFRkwgU0tJUCA6IHN0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCi1CVUdXS0VGTCBTS0lQIDogc3RvcmFnZS9zdGF0
ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0tF
RkwgU0tJUCA6IHN0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRt
bCA9IEZBSUwKLUJVR1dLRUZMIFNLSVAgOiBzdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCi1CVUdXS0VGTCBTS0lQIDogc3RvcmFnZS90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCitC
VUdXS0VGTCBTS0lQIDogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAorQlVHV0tFRkwgU0tJUCA6IHN0b3JhZ2Uv
d2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJ
TAorQlVHV0tFRkwgU0tJUCA6IHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCitCVUdXS0VGTCBTS0lQIDogc3RvcmFnZS93
ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JV
R1dLRUZMIFNLSVAgOiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sID0gRkFJTAorQlVHV0tFRkwgU0tJUCA6IHN0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwK
IAogLy8gRUZMJ3MgTGF5b3V0VGVzdENvbnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IGxheWVy
VHJlZUFzVGV4dAogQlVHV0s4MjI5NCA6IGNvbXBvc2l0aW5nL2FuaW1hdGlvbi9hbmltYXRpb24t
Y29tcG9zaXRpbmcuaHRtbCA9IFRFWFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
Y2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2Ut
dmVyc2lvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5Mzll
MzY1MGM1NTczZmI5ZjhkZDA3NmVkYzIxOTJmOTg3ZjcxZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVy
c2lvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHRoZSBKUyBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rpb24g
d29ya3MgYXMgZXhwZWN0ZWQuCi1GaW5pc2hlZCB0ZXN0cyB3aXRoIHZlcnNpb24gMzsgZXhwZWN0
ZWQgdmVyc2lvbjogMwotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmNzY0ODFiMzRlYzI4NTYxZGUwMjcyMzRjNTk3
ZjllNGY4OWExNTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgYSBk
YXRhYmFzZSBjYW4gYmUgYWNjZXNzZWQgYWZ0ZXIgY2hhbmdpbmcgaXRzIHZlcnNpb24uIFlvdSBz
aG91bGQgc2VlIGFuIGVycm9yIGFib3V0IEZvb0JhciB0YWJsZSBiZWxvdywgbm90IGFib3V0IG1p
c21hdGNoaW5nIHZlcnNpb25zLgotY2hhbmdlVmVyc2lvbjogdHJhbnNhY3Rpb24gY2FsbGJhY2sK
LWNoYW5nZVZlcnNpb246IHN1Y2Nlc3MgY2FsbGJhY2sKLXRyYW5zYWN0aW9uOiBzdGF0ZW1lbnQg
ZXJyb3IgY2FsbGJhY2s6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBubyBzdWNoIHRh
YmxlOiBGb29CYXIpCi1URVNUIENPTVBMRVRFLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYWYzZmJmNDg0ZDdhODVhMzQ5MGI1MTViNzA4OTU0NGFlZTA4NmZhMS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTIgKzAsMCBAQAotPGh0bWw+IAotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Rh
dGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iY2hhbmdlLXZlcnNpb24t
aGFuZGxlLXJldXNlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4gCi08Ym9keSBvbmxvYWQ9InNldHVw
QW5kUnVuVGVzdCgpIj4gCi08ZGl2PlRoaXMgdGVzdHMgdGhhdCBhIGRhdGFiYXNlIGNhbiBiZSBh
Y2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBpdHMgdmVyc2lvbi4gWW91IHNob3VsZCBzZWUgYW4gZXJy
b3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJlbG93LCBub3QgYWJvdXQgbWlzbWF0Y2hpbmcgdmVyc2lv
bnMuCi08cHJlIGlkPSJjb25zb2xlIj4gCi1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3By
ZT4gCi08L2JvZHk+IAotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9j
aGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5n
ZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODQ3YTU4YzNiOTFmZjJjNTA4MGYyYzkyMGE1ZDQxYWJjYjVjZTJhMi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5n
ZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAK
LWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygiVEVTVCBDT01QTEVURS4iKTsKLQot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAg
dHJ5IHsKLSAgICAgICAgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJDaGFuZ2VWZXJzaW9u
IiwgIiIsICJUZXN0IHRoYXQgY2hhbmdpbmcgYSBkYXRhYmFzZSB2ZXJzaW9uIGRvZXNuJ3Qga2ls
bCBvdXIgaGFuZGxlIHRvIGl0IiwgMSk7Ci0gICAgICAgIHZhciB2ZXJzaW9uID0gZGIudmVyc2lv
bjsKLSAgICAgICAgdmFyIG5ld1ZlcnNpb24gPSB2ZXJzaW9uID8gKHBhcnNlSW50KHZlcnNpb24p
ICsgMSkudG9TdHJpbmcoKSA6ICIxIjsgCi0gICAgICAgIGRiLmNoYW5nZVZlcnNpb24odmVyc2lv
biwgbmV3VmVyc2lvbiwgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIGxvZygiY2hhbmdlVmVy
c2lvbjogdHJhbnNhY3Rpb24gY2FsbGJhY2siKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3Ip
IHsKLSAgICAgICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogZXJyb3IgY2FsbGJhY2s6ICIgKyBl
cnJvci5tZXNzYWdlKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBsb2co
ImNoYW5nZVZlcnNpb246IHN1Y2Nlc3MgY2FsbGJhY2siKTsKLSAgICAgICAgICAgIHJ1blRlc3Qy
KCk7Ci0gICAgICAgIH0pOwotICAgICAgICAKLSAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgIGxv
ZygiY2hhbmdlVmVyc2lvbiBleGNlcHRpb246ICIgKyBlKTsKLSAgICAgICAgZmluaXNoVGVzdCgp
OwotICAgIH0KLX0KLSAKLWZ1bmN0aW9uIHJ1blRlc3QyKCkKLXsKLSAgICB0cnkgewotICAgICAg
ICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiU0VMRUNUICogZnJvbSBGb29CYXIiLCBbXSwgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAg
ICAgICBsb2coInRyYW5zYWN0aW9uOiBzdGF0ZW1lbnQgY2FsbGJhY2siKTsKLSAgICAgICAgICAg
ICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICB9LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsK
LSAgICAgICAgICAgICAgICBsb2coInRyYW5zYWN0aW9uOiBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJh
Y2s6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0g
ICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfSBjYXRjaCAoZSkgewotICAgICAgICBs
b2coInRyYW5zYWN0aW9uIGV4Y2VwdGlvbjogIiArIGUpOwotICAgICAgICBmaW5pc2hUZXN0KCk7
Ci0gICAgfQotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lv
bi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmIwZDU0OWNiMGNkNDdk
ZmE4NjYxZTZlNmM1OTg5MDQzYjk5YzMzMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNy
YXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDMgKzAsMCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgbm8gYXNzZXJ0aW9uIGlzIHRyaWdn
ZXJlZCB3aGVuIGNoYW5nZVZlcnNpb24oKSdzIHByZWZsaWdodCBzdGVwIGZhaWxzLgotUEFTUzog
ZGIuY2hhbmdlVmVyc2lvbigpIGZhaWxlZCBhcyBleHBlY3RlZCwgYW5kIG5vIGFzc2VydGlvbnMg
d2VyZSB0cmlnZ2VyZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdl
LXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmE1MTJmYjlhYzkxZGZiNGRhMmM4ZjJl
ODM2ZGJjNTA4NzY1OTEyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXBy
ZWZsaWdodC1mYWlsdXJlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7
Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAg
ICB2YXIgZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJDaGFuZ2VWZXJzaW9uRmFpbHVyZVRlc3Qi
LCAiMSIsICJUZXN0IHRoZSBwcmVmbGlnaHQgc3RlcCIsIDEwMjQpOwotICAgIGRiLmNoYW5nZVZl
cnNpb24oIjIiLCAiMyIsIG51bGwsIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgIGxvZygiUEFT
UzogZGIuY2hhbmdlVmVyc2lvbigpIGZhaWxlZCBhcyBleHBlY3RlZCwgYW5kIG5vIGFzc2VydGlv
bnMgd2VyZSB0cmlnZ2VyZWQuIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9LCBmdW5j
dGlvbigpIHsKLSAgICAgICAgbG9nKCJGQUlMOiBkYi5jaGFuZ2VWZXJzaW9uKCkgd2FzIGV4cGVj
dGVkIHRvIGZhaWwuIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9KTsKLX0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KLVRoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJzaW9uKCkn
cyBwcmVmbGlnaHQgc3RlcCBmYWlscy4KLTxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lv
bi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OWJiOWRmNTg4Yjk0Y2RkYzAzYjJmNzlhYzlhYTRmMDY2
NDZiOTVhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDEwNiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHRpdGxlPlRlc3QgZGF0YWJhc2UuY2hhbmdl
VmVyc2lvbjwvdGl0bGU+Ci08c2NyaXB0PgotdmFyIGRiMTsKLXZhciBFWFBFQ1RFRF9WRVJTSU9O
X0FGVEVSX0hJWElFX1RFU1QgPSAnMic7Ci12YXIgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxP
QUQgPSAnMyc7Ci0KLWZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7IH0KLQotZnVuY3Rpb24gY2hh
bmdlVmVyc2lvbkNhbGxiYWNrKHR4KQotewotICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgdGFibGUg
aWYgZXhpc3RzIGluZm87IiwgW10sIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pOwotICAg
IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSB0YWJsZSBpZiBub3QgZXhpc3RzIGluZm8gKHZlcnNpb24g
SU5URUdFUik7IiwgW10sIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pOwotICAgIHR4LmV4
ZWN1dGVTcWwoIklOU0VSVCBpbnRvIGluZm8gdmFsdWVzKD8pOyIsIFtFWFBFQ1RFRF9WRVJTSU9O
X0FGVEVSX1JFTE9BRF0sIGVtcHR5RnVuY3Rpb24sIGVtcHR5RnVuY3Rpb24pOwotfQotCi1mdW5j
dGlvbiBjaGFuZ2VWZXJzaW9uU3VjY2VzcygpCi17Ci0gICAgbG9nKCJTdWNjZXNzZnVsbHkgY2hh
bmdlZCB2ZXJzaW9uIHRvICIgKyBkYjEudmVyc2lvbiArICIuIFJlbG9hZGluZy4iKTsKLSAgICB3
aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbiArICc/Mic7Ci19Ci0KLWZ1bmN0
aW9uIGNoYW5nZVZlcnNpb25FcnJvcihlcnJvcikKLXsKLSAgICBsb2coIkVycm9yOiAiICsgZXJy
b3IubWVzc2FnZSk7Ci0gICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0
KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgbG9nKCJURVNUIENPTVBMRVRFIik7
Ci19Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQotCi1mdW5jdGlv
biBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxvY2F0aW9uLnNlYXJjaCA9PSAiPzIiKSB7
Ci0gICAgICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNpb24tdGVzdCIs
ICIiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBmdW5jdGlvbiIsIDEw
MjQpOwotICAgICAgICBsb2coIkZpbmlzaGVkIHRlc3RzIHdpdGggdmVyc2lvbiAiICsgZGIxLnZl
cnNpb24gKyAiOyBleHBlY3RlZCB2ZXJzaW9uOiAiICsgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9S
RUxPQUQpOwotCi0gICAgICAgIC8vIFJlc2V0IHRoZSBEQiB2ZXJzaW9uIG9yIHRoZSBuZXh0IHJ1
biBtaWdodCBmYWlsLgotICAgICAgICBkYjEuY2hhbmdlVmVyc2lvbihkYjEudmVyc2lvbiwgIjEi
KTsKLQotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHRlc3RQYXJ0
MSgpOwotfQotCi1mdW5jdGlvbiB0ZXN0UGFydDEoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERh
dGFiYXNlcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAg
ICBkYjEgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJjaGFuZ2V2ZXJzaW9uLXRlc3QiLCAiMSIsICJU
ZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1bmN0aW9uIiwgMTAyNCk7Ci0g
ICAgdmFyIGRiMiA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNpb24tdGVzdCIsICIx
IiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rpb24iLCAxMDI0
KTsKLQotICAgIC8vIEZpcnN0IHJ1biBIaXhpZSdzIHRlc3QgdG8gZW5zdXJlIGJhc2ljIGNoYW5n
ZVZlcnNpb24gZnVuY3Rpb25hbGl0eSB3b3JrcyAoc2VlIGJ1ZyAyODQxOCkuCi0gICAgZGIxLmNo
YW5nZVZlcnNpb24oIjEiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX0hJWElFX1RFU1QsIG51bGws
IGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgIGxvZygiRkFJTCBpbiBjaGFuZ2VWZXJzaW9uOiIgKyBl
KTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0sIGZ1bmN0aW9uICgpIHsKLSAgICAgICAg
Ly8gTWFrZSBzdXJlIHRoZSB2ZXJzaW9uIGNoYW5nZSBoYXMgcHJvcGFnYXRlZCB0byBkYjIgdG9v
LgotICAgICAgICAvLyBBbGwgdHJhbnNhY3Rpb25zIG9uIGRiMiBzaG91bGQgZmFpbC4KLSAgICAg
ICAgaWYgKGRiMi52ZXJzaW9uICE9IGRiMS52ZXJzaW9uKSB7Ci0gICAgICAgICAgICBsb2coIkZB
SUw6IGNoYW5naW5nIGRiMSdzIHZlcnNpb24gKCIgKyBkYjEudmVyc2lvbiArICIpIGRpZCBub3Qg
Y2hhbmdlIGRiMidzIHZlcnNpb24gKCIgKyBkYjIudmVyc2lvbiArICIpIGFzIGV4cGVjdGVkLiIp
OwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGRiMi50cmFu
c2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBU
QUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpIik7Ci0gICAgICAgIH0sIGZ1bmN0aW9u
KGVycm9yKSB7IH0sIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbG9nKCJGQUlMOiBUaGUgREIg
dmVyc2lvbiBjaGFuZ2VkLCBhbGwgdHJhbnNhY3Rpb25zIG9uIGRiMiBzaG91bGQgZmFpbC4iKTsK
LSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgLy8gTWFr
ZSBzdXJlIGFueSBuZXcgaGFuZGxlIHRvIHRoZSBzYW1lIERCIHNlZXMgdGhlIG5ldyB2ZXJzaW9u
Ci0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICB2YXIgZGIzID0gb3BlbkRhdGFiYXNlKCJjaGFu
Z2UtdmVyc2lvbi10ZXN0IiwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9ISVhJRV9URVNULCAiIiwg
MCk7Ci0gICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgICAgIGxvZygiRkFJTCBpbiBvcGVu
RGF0YWJhc2U6ICIgKyBlKTsKLSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQot
ICAgICAgICBpZiAoZGIxLnZlcnNpb24gIT0gZGIzLnZlcnNpb24pIHsKLSAgICAgICAgICAgIGxv
ZygiRkFJTDogZGIudmVyc2lvbigiICsgZGIxLnZlcnNpb24gKyAiKSBkb2VzIG5vdCBtYXRjaCBk
YjMudmVyc2lvbigiICsgZGIzLnZlcnNpb24gKyIpIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0
KCk7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBOb3cgdHJ5IGEgdGVzdCB0byBlbnN1cmUgdGhl
IHZlcnNpb24gcGVyc2lzdHMgYWZ0ZXIgcmVsb2FkaW5nIChzZWUgYnVnIDI3ODM2KQotICAgICAg
ICBkYjEuY2hhbmdlVmVyc2lvbihFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX0hJWElFX1RFU1QsIEVY
UEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FELCBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2ssIGNoYW5n
ZVZlcnNpb25FcnJvciwgY2hhbmdlVmVyc2lvblN1Y2Nlc3MpOwotICAgIH0pOwotfQotPC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IHZlcmlm
aWVzIHRoYXQgdGhlIEpTIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBmdW5jdGlvbiB3b3JrcyBh
cyBleHBlY3RlZC4KLTxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3Qt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9jbG9zZS1kdXJpbmctc3RyZXNzLXRl
c3QtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYWFkOTBjMTYy
OWU1MGIwZTYwNTJjZjhiNmU0N2UxM2UxMDFjMDIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2xvc2UtZHVyaW5nLXN0
cmVzcy10ZXN0LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotU2hv
dWxkIG5vdCBjcmFzaCBvciBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KLQotQSBKYXZhU2Ny
aXB0IGZhaWx1cmUgb24gdGhlIGNvbnNvbGUgaXMgZXhwZWN0ZWQsIGhvd2V2ZXIsIGFzIHRoZSBn
bG9iYWwgb2JqZWN0IGlzIGNsZWFyZWQgd2hlbiBjbG9zaW5nIGEgZnJhbWUuIEl0IGFjdHVhbGx5
IGhlbHBzIHRvIGNhdXNlIGRhdGFiYXNlIGFjdGl2aXR5IGJ5IHRocm93aW5nIGFuIGV4Y2VwdGlv
biBmcm9tIGEgY2FsbGJhY2suCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9j
bG9zZS1kdXJpbmctc3RyZXNzLXRlc3QuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2xvc2Ut
ZHVyaW5nLXN0cmVzcy10ZXN0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVj
YzUyZmQ5NTUwZDk5ZTQ0YWI4NjMwZmM2NzAyZWQ5NDI4ODU3ZTIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jbG9zZS1k
dXJpbmctc3RyZXNzLXRlc3QuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDE5ICswLDAgQEAKLTxi
b2R5PgotPHA+U2hvdWxkIG5vdCBjcmFzaCBvciBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS48
L3A+Ci08cD5BIEphdmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwg
aG93ZXZlciwgYXMgdGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBm
cmFtZS4KLUl0IGFjdHVhbGx5IGhlbHBzIHRvIGNhdXNlIGRhdGFiYXNlIGFjdGl2aXR5IGJ5IHRo
cm93aW5nIGFuIGV4Y2VwdGlvbiBmcm9tIGEgY2FsbGJhY2suPC9wPgotPHNjcmlwdD4KLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwot
fQotCi1mdW5jdGlvbiBzdGFydFRlc3QoKQotewotICAgIHNldFRpbWVvdXQoImRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKVswXS5zcmMgPSAnYWJvdXQ6YmxhbmsnIiwgMTAw
KTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBzZXRUaW1l
b3V0KCJsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCA1MDApOwotfQotPC9zY3Jp
cHQ+Ci08aWZyYW1lIHNyYz0icmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sIiBvbmxvYWQ9InN0
YXJ0VGVzdCgpIj48L2lmcmFtZT4KLTwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3Mjk1NjNhYjgwOGNiM2RiZWQ3NzI1MmU3ZTQwMjEy
YjUwY2QzMjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUluc2VydGluZyBzb21lIGRhdGEKLVRl
c3QgcGFydCAyIENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZGF0
YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZGF0YWJh
c2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NWI1OTg5Zjc4MDI1N2NmZDNiYTQ5OTk1ODVlNGU1NzY1MjEyYjE1MC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFi
YXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2Ug
KyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygiVGVzdCBw
YXJ0IDEgQ29tcGxldGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9u
IGVycm9yRnVuY3Rpb24oZXJyb3IpCi17Ci0gICAgbG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJv
ci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGFkZERhdGEoZGIp
Ci17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgbG9nKCJJbnNl
cnRpbmcgc29tZSBkYXRhIik7Ci0gICAgICAgIC8vIExvYWQgYSBuZXcgcGFnZSB3aGlsZSB0aGUg
dHJhbnNhY3Rpb24gaXMgc3RpbGwgaW4gcHJvZ3Jlc3MsIGludGVycnVwdGluZyB0aGUgdHJhbnNh
Y3Rpb24uCi0gICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBsZWF2ZSB0aGUgZGF0YWJhc2UgbG9j
a2VkIGFuZCBvbiB0aGUgbmV4dCBwYWdlIHdlIHNob3VsZCBiZSBhYmxlIHRvIGluc2VydAotICAg
ICAgICAvLyBzb21lIG1vcmUgZGF0YS4KLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElO
VE8gRGF0YVRlc3QgKHRlc3REYXRhKSBWQUxVRVMgKFpFUk9CTE9CKDUyNDIwMCkpIiwgW10sCi0g
ICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IGxvY2F0aW9uLmhyZWYgPSAiLi9yZXNv
dXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sIjsgfSwKLSAgICAgICAgICAg
IGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0aW9uKGVycm9yKTsgfSk7Ci0gICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTICha
RVJPQkxPQig1MjQyMDApKSIpOwotICAgIH0sIGVycm9yRnVuY3Rpb24sIGZ1bmN0aW9uKCkgeyBm
aW5pc2hUZXN0KCk7IH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgIH0KLQotICAgIHZhciBkYXRhYmFzZTsKLSAgICB0cnkgewotICAgICAgICBkYXRhYmFzZSA9
IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJh
c2UgbG9ja2luZyIsIDUyNDI4ODApOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgbG9nKCJF
cnJvciAtIGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsK
LSAgICB9Ci0KLSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAg
ICBsb2coIkFkZGluZyBhIHRhYmxlIik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBU
QUJMRSBEYXRhVGVzdCAodGVzdERhdGEpIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgfSwK
LSAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0aW9uKGVycm9yKTsg
fSk7Ci0gICAgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rpb24oKSB7IGFkZERhdGEoZGF0YWJhc2Up
OyB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzhkOWRjYTRlMjczNTM0ZGIzZDgzM2I2OTk5NTBkY2Ix
NTE4NGFiYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVudC1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwyICswLDAgQEAKLUV4ZWN1dGVkIGFuIGVtcHR5IHN0YXRlbWVudC4gSWYgeW91
IGRpZG4ndCBzZWUgYSBjcmFzaCBvciBhc3NlcnRpb24sIHRoZSB0ZXN0IHBhc3NlZC4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDM2ZWM1YjhjYWM1ZTRhNTgyNjA4NzZiYjUzOWZiOGJhYjYwNGNmNDkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9lbXB0eS1zdGF0ZW1lbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAK
LTxodG1sPgotCi08aGVhZD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIHdyaXRlTWVzc2FnZVRvTG9n
KG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5l
clRleHQgKz0gbWVzc2FnZSArICJcbiI7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVFbXB0eVN0YXRl
bWVudCh0cmFuc2FjdGlvbikKLXsKLSAgICB0cmFuc2FjdGlvbi5leGVjdXRlU3FsKCIiKTsKLSAg
ICB3cml0ZU1lc3NhZ2VUb0xvZygiRXhlY3V0ZWQgYW4gZW1wdHkgc3RhdGVtZW50LiBJZiB5b3Ug
ZGlkbid0IHNlZSBhIGNyYXNoIG9yIGFzc2VydGlvbiwgdGhlIHRlc3QgcGFzc2VkLiIpOwotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICB9Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJFbXB0eVN0YXRlbWVu
dFRlc3QiLCAiMS4wIiwgIkRhdGFiYXNlIGZvciBhbiBlbXB0eSBzdGF0ZW1lbnQgdGVzdCIsIDEp
OwotICAgIGRiLnRyYW5zYWN0aW9uKGV4ZWN1dGVFbXB0eVN0YXRlbWVudCk7Ci19Ci0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cHJlIGlkPSJjb25z
b2xlIj48L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDBlMzBiNGJkZDZjZmRiZjJkOTIwMzlkNTVhMjllOTM2N2M2MmQxYWEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICsw
LDAgQEAKLVBBU1MuIGV4ZWN1dGVTcWwobnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24K
LVBBU1MuIGV4ZWN1dGVTcWwodW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgot
UEFTUy4gZXhlY3V0ZVNxbCgwKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhl
Y3V0ZVNxbCgiIikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwo
IiIsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIi
LCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3Fs
KCIiLCBbXSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIs
IFsgImFyZzAiIF0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3Fs
KCIiLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIi
LCB7IGxlbmd0aDogMCB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0
ZVNxbCgiIiwgeyBsZW5ndGg6IDEsIDA6ICJhcmcwIiB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIHVuZGVmaW5lZCkgZGlkIG5vdCB0
aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIHsgfSkgZGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsIG51
bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxs
LCBudWxsLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVj
dXRlU3FsKCIiLCBudWxsLCBudWxsLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1Q
QVNTLiBleGVjdXRlU3FsKCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4g
ZXhlY3V0ZVNxbCh0aHJvd09uVG9TdHJpbmdPYmplY3QpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBl
eHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3QpIHRo
cmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIHRocm93
T25HZXRaZXJvT2JqZWN0KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBl
eGVjdXRlU3FsKCIiLCBbIHRocm93T25Ub1N0cmluZ09iamVjdCBdKSB0aHJldyBhbiBleGNlcHRp
b24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCAwKSB0aHJldyBhbiBleGNlcHRp
b24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCAiIikgdGhyZXcgYW4gZXhjZXB0
aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgMCkgdGhyZXcgYW4g
ZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgIiIpIHRo
cmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGws
IG51bGwsIDApIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVT
cWwoIiIsIG51bGwsIG51bGwsICIiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGI5ZjJhNDNhYmFhMzY3Y2Q5NWNiMDI2OGM5Zjc0Yzk4NmE5OWM1Y2Iu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMyAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1j
b21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImV4ZWN1dGUtc3FsLWFyZ3MuanMiPjwv
c2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4KLTxw
cmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KLTwvcHJlPiAKLTwv
Ym9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRl
LXNxbC1hcmdzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYjk0MTRkYjNjYTNjODA1MDYxYmRhYzZhYzZj
OGZiN2Q3ZmM5MDJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5qcworKysgL2Rldi9udWxs
CkBAIC0xLDg2ICswLDAgQEAKLXZhciB0aHJvd09uVG9TdHJpbmdPYmplY3QgPSB7IH07Ci10aHJv
d09uVG9TdHJpbmdPYmplY3QudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJDYW5ub3Qg
Y2FsbCB0b1N0cmluZyBvbiB0aGlzIG9iamVjdC4iIH07Ci0KLXZhciB0aHJvd09uR2V0TGVuZ3Ro
T2JqZWN0ID0geyB9OwotdGhyb3dPbkdldExlbmd0aE9iamVjdC5fX2RlZmluZUdldHRlcl9fKCJs
ZW5ndGgiLCBmdW5jdGlvbiAoKSB7IHRocm93ICJDYW5ub3QgZ2V0IGxlbmd0aCBvZiB0aGlzIG9i
amVjdC4iOyB9KTsKLQotdmFyIHRocm93T25HZXRaZXJvT2JqZWN0ID0geyBsZW5ndGg6IDEgfTsK
LXRocm93T25HZXRaZXJvT2JqZWN0Ll9fZGVmaW5lR2V0dGVyX18oIjAiLCBmdW5jdGlvbiAoKSB7
IHRocm93ICJDYW5ub3QgZ2V0IDAgcHJvcGVydHkgb2YgdGhpcyBvYmplY3QuIjsgfSk7Ci0KLXZh
ciBleHBlY3ROb0V4Y2VwdGlvbiA9IFsKLSAgICAnbnVsbCcsCi0gICAgJ3VuZGVmaW5lZCcsCi0g
ICAgJzAnLAotICAgICciIicsCi0gICAgJyIiLCBudWxsJywKLSAgICAnIiIsIHVuZGVmaW5lZCcs
Ci0gICAgJyIiLCBbXScsCi0gICAgJyIiLCBbICJhcmcwIiBdJywKLSAgICAnIiIsIHsgfScsCi0g
ICAgJyIiLCB7IGxlbmd0aDogMCB9JywKLSAgICAnIiIsIHsgbGVuZ3RoOiAxLCAwOiAiYXJnMCIg
fScsCi0gICAgJyIiLCBudWxsLCBudWxsJywKLSAgICAnIiIsIG51bGwsIHVuZGVmaW5lZCcsCi0g
ICAgJyIiLCBudWxsLCB7IH0nLAotICAgICciIiwgbnVsbCwgbnVsbCwgbnVsbCcsCi0gICAgJyIi
LCBudWxsLCBudWxsLCB1bmRlZmluZWQnLAotICAgICciIiwgbnVsbCwgbnVsbCwgeyB9JywKLV07
Ci0KLXZhciBleHBlY3RFeGNlcHRpb24gPSBbCi0gICAgJycsCi0gICAgJ3Rocm93T25Ub1N0cmlu
Z09iamVjdCcsCi0gICAgJyIiLCB0aHJvd09uR2V0TGVuZ3RoT2JqZWN0JywKLSAgICAnIiIsIHRo
cm93T25HZXRaZXJvT2JqZWN0JywKLSAgICAnIiIsIFsgdGhyb3dPblRvU3RyaW5nT2JqZWN0IF0n
LAotICAgICciIiwgMCcsCi0gICAgJyIiLCAiIicsCi0gICAgJyIiLCBudWxsLCAwJywKLSAgICAn
IiIsIG51bGwsICIiJywKLSAgICAnIiIsIG51bGwsIG51bGwsIDAnLAotICAgICciIiwgbnVsbCwg
bnVsbCwgIiInLAotXTsKLQotZnVuY3Rpb24gdHJ5RXhlY3V0ZVNxbCh0cmFuc2FjdGlvbiwgcGFy
YW1ldGVyTGlzdCkKLXsKLSAgICB0cnkgewotICAgICAgICBldmFsKCd0cmFuc2FjdGlvbi5leGVj
dXRlU3FsKCcgKyBwYXJhbWV0ZXJMaXN0ICsgJyknKTsKLSAgICAgICAgcmV0dXJuIG51bGw7Ci0g
ICAgfSBjYXRjaCAoZXhjZXB0aW9uKSB7Ci0gICAgICAgIHJldHVybiBleGNlcHRpb247Ci0gICAg
fQotfQotCi1mdW5jdGlvbiBydW5UcmFuc2FjdGlvblRlc3QodHJhbnNhY3Rpb24sIHBhcmFtZXRl
ckxpc3QsIGV4cGVjdEV4Y2VwdGlvbikKLXsKLSAgICB2YXIgZXhjZXB0aW9uID0gdHJ5RXhlY3V0
ZVNxbCh0cmFuc2FjdGlvbiwgcGFyYW1ldGVyTGlzdCk7Ci0gICAgaWYgKGV4cGVjdEV4Y2VwdGlv
bikgewotICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgbG9nKCJQQVNTLiBleGVj
dXRlU3FsKCIgKyBwYXJhbWV0ZXJMaXN0ICsgIikgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVj
dGVkLiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIipGQUlMKi4gZXhlY3V0ZVNx
bCgiICsgcGFyYW1ldGVyTGlzdCArICIpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uIik7Ci0g
ICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGV4Y2VwdGlvbikKLSAgICAgICAgICAgIGxvZygiKkZB
SUwqLiBleGVjdXRlU3FsKCIgKyBwYXJhbWV0ZXJMaXN0ICsgIikgdGhyZXcgYW4gZXhjZXB0aW9u
OiAiICsgZXhjZXB0aW9uKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9nKCJQQVNTLiBl
eGVjdXRlU3FsKCIgKyBwYXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24iKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdHModHJhbnNhY3Rp
b24pCi17Ci0gICAgZm9yIChpIGluIGV4cGVjdE5vRXhjZXB0aW9uKQotICAgICAgICBydW5UcmFu
c2FjdGlvblRlc3QodHJhbnNhY3Rpb24sIGV4cGVjdE5vRXhjZXB0aW9uW2ldLCBmYWxzZSk7Ci0g
ICAgZm9yIChpIGluIGV4cGVjdEV4Y2VwdGlvbikKLSAgICAgICAgcnVuVHJhbnNhY3Rpb25UZXN0
KHRyYW5zYWN0aW9uLCBleHBlY3RFeGNlcHRpb25baV0sIHRydWUpOwotCi0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLQotICAgIHZhciBkYiA9IG9w
ZW5EYXRhYmFzZVdpdGhTdWZmaXgoIkV4ZWN1dGVTUUxBcmdzVGVzdCIsICIxLjAiLCAiVGVzdCBv
ZiBoYW5kbGluZyBvZiB0aGUgYXJndW1lbnRzIHRvIFNRTFRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwi
LCAxKTsKLSAgICBkYi50cmFuc2FjdGlvbihydW5UcmFuc2FjdGlvblRlc3RzKTsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0
YXRlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNj
ZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiOTVjZWVlOGM4ODNhZGUxNDNlYTk2YTE1MjM1N2QwNjc1OWE5ZmE5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IGV4ZWN1
dGVTcWwoKSBmYWlscyB3aGVuIGNhbGxlZCB3aXRoIGEgc3RyaW5nIHRoYXQgaGFzIG1vcmUgdGhh
biBvbmUgdmFsaWQgc3RhdGVtZW50IGluIGl0LgotVGVzdCBwYXNzZWQuCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUt
c3RhdGVtZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzODYwYzg5OTI1
ZjJmY2RiMTA2MzZmZTdjNjIzYWM4M2IxMzYwMmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2Vw
dHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLQotdmFyIFRPVEFMX1NUQVRFTUVOVFMgPSA4Owot
dmFyIHN0YXRlbWVudHMgPSAwOwotdmFyIGRiID0gbnVsbDsKLQotZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCi17Ci0gICAgZG9jdW1lbnQuYm9keS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Ci19
Ci0KLWZ1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
LX0KLQotZnVuY3Rpb24gZXhlY3V0ZVN0YXRlbWVudChleHBlY3RlZFRvUGFzcywgc3RhdGVtZW50
KQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1
dGVTcWwoc3RhdGVtZW50LCBbXSwKLSAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBkYXRhKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKCFleHBlY3RlZFRvUGFzcykgewotICAgICAgICAgICAgICAgICAg
ICBsb2coIlN0YXRlbWVudCAiICsgc3RhdGVtZW50ICsgIiB3YXMgZXhwZWN0ZWQgdG8gZmFpbCwg
YnV0IHBhc3NlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoKytzdGF0ZW1lbnRzID09IFRPVEFM
X1NUQVRFTUVOVFMpIHsKLSAgICAgICAgICAgICAgICAgICAgbG9nKCJUZXN0IHBhc3NlZC4iKTsK
LSAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgICAgIGlm
IChleHBlY3RlZFRvUGFzcykgewotICAgICAgICAgICAgICAgICAgICBsb2coIlN0YXRlbWVudCAi
ICsgc3RhdGVtZW50ICsgIiB3YXMgZXhwZWN0ZWQgdG8gcGFzcywgYnV0IGZhaWxlZC4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBpZiAoKytzdGF0ZW1lbnRzID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKLSAg
ICAgICAgICAgICAgICAgICAgbG9nKCJUZXN0IHBhc3NlZC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0pOwot
ICAgIH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxs
RGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQot
ICAgIGRiID0gb3BlbkRhdGFiYXNlKCJFeGVjdXRlU1FMQWNjZXB0c09ubHlPbmVTdGF0ZW1lbnRU
ZXN0IiwgIjEuMCIsICIiLCAxKTsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewot
ICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChG
b28gSU5UKSIpOwotICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgIGxvZygiVGVzdCBm
YWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAg
IH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoMSkiKTsKLSAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAi
SU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDIpOyIpOwotICAgICAgICBleGVjdXRlU3RhdGVtZW50
KHRydWUsICIgICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMykgICAgIik7Ci0gICAgICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg0KTsgICAi
KTsKLSAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxV
RVMgKDUpICAgOyIpOwotICAgICAgICBleGVjdXRlU3RhdGVtZW50KGZhbHNlLCAiSU5TRVJUIElO
VE8gVGVzdCBWQUxVRVMgKDYpOyBnYXJiYWdlIik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQo
ZmFsc2UsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoNyk7IElOU0VSVCBJTlRPIFRlc3QgVkFM
VUVTICg4KSIpOwotICAgICAgICBleGVjdXRlU3RhdGVtZW50KGZhbHNlLCAiICBJTlNFUlQgSU5U
TyBUZXN0IFZBTFVFUyAoOSk7ICAgSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDEwKTsgICAiKTsK
LSAgICB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgZXhlY3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVk
IHdpdGggYSBzdHJpbmcgdGhhdCBoYXMgbW9yZSB0aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4g
aXQuPGJyPgotPC9ib2R5PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29s
bGVjdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwMTUx
NGE2YWVmYjM2MjhlYjAwMzY0Y2IyNjI0YzIwZTBlODkwMDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1k
YXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotVGhpcyB0ZXN0IG9wZW5zIHR3byBkYXRhYmFzZXMsIHF1ZXVlcyB1cCBh
IHNlcmllcyBvZiBvcGVyYXRpb25zIG9uIGJvdGgsIHRoZW4gImZvcmdldHMiIGFib3V0IG9uZSBv
ZiB0aGVtLiBBZnRlciBmb3JjaW5nIEdDLCByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoYXQg
ZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVsbHkuCi1Gb3Jnb3R0ZW4gRGF0YWJhc2Ug
VHJhbnNhY3Rpb24gQ29tcGxldGUKLVBlcnNpc3RlbnQgRGF0YWJhc2UgVHJhbnNhY3Rpb24gQ29t
cGxldGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFz
ZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxl
LWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggODQ1MWFjZmJiOTlhNDM5ZGQ4MjQ3NmMxOTk0OTE2Njg2YTlhNmYwMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ibXVsdGlwbGUt
ZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+Ci08Ym9keSBvbmxvYWQ9
InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3Qgb3BlbnMgdHdvIGRhdGFiYXNlcywgcXVl
dWVzIHVwIGEgc2VyaWVzIG9mIG9wZXJhdGlvbnMgb24gYm90aCwgdGhlbiAiZm9yZ2V0cyIgYWJv
dXQgb25lIG9mIHRoZW0uCi1BZnRlciBmb3JjaW5nIEdDLCByZXNvdXJjZXMgYXNzb2NpYXRlZCB3
aXRoIHRoYXQgZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVsbHkuPGJyPgotPHByZSBp
ZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+IAotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRh
YmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBs
ZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5YTJiMjdmNDdmNmE5MDBkODRiOThkMTg0OGQ3NmVmNjQ0MjBkODZmLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcworKysgL2Rldi9udWxs
CkBAIC0xLDU2ICswLDAgQEAKLWZ1bmN0aW9uIEdDKCkKLXsKLSAgICAvLyBGb3JjZSBHQy4KLSAg
ICBpZiAod2luZG93LkdDQ29udHJvbGxlcikKLSAgICAgICAgR0NDb250cm9sbGVyLmNvbGxlY3Qo
KTsKLSAgICBlbHNlIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7
Ci0gICAgICAgICAgICAoeyB9KTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotLy8gVmFyaWFibGUg
Zm9yIHRoZSBkYXRhYmFzZSB0aGF0IHdpbGwgbmV2ZXIgYmUgZm9yZ290dGVuCi12YXIgcGVyc2lz
dGVudERCID0gMDsKLS8vIFZhcmlhYmxlIGZvciB0aGUgZm9yZ290dGVuIGRhdGFiYXNlCi12YXIg
Zm9yZ290dGVuREIgPSAwOwotCi12YXIgY29tcGxldGVkID0gMDsKLWZ1bmN0aW9uIGNoZWNrQ29t
cGxldGlvbigpCi17Ci0gICAgaWYgKCsrY29tcGxldGVkID09IDIgJiYgd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIHBlcnNpc3RlbnREQiA9IG9wZW5EYXRh
YmFzZVdpdGhTdWZmaXgoIk11bHRpcGxlRGF0YWJhc2VzVGVzdDEiLCAiMS4wIiwgIlRlc3Qgb25l
IG91dCBvZiBhIHNldCBvZiBkYXRhYmFzZXMgYmVpbmcgZGVzdHJveWVkICgxKSIsIDMyNzY4KTsK
LSAgICBmb3Jnb3R0ZW5EQiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIk11bHRpcGxlRGF0YWJh
c2VzVGVzdDIiLCAiMS4wIiwgIlRlc3Qgb25lIG91dCBvZiBhIHNldCBvZiBkYXRhYmFzZXMgYmVp
bmcgZGVzdHJveWVkICgyKSIsIDMyNzY4KTsKLQotICAgIHBlcnNpc3RlbnREQi50cmFuc2FjdGlv
bihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYg
Tk9UIEVYSVNUUyBEYXRhVGVzdCAocmFuZG9tRGF0YSkiLCBbXSwgZnVuY3Rpb24odHgsIHJlc3Vs
dCkgeyAKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjU7ICsraSkKLSAgICAgICAg
ICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkg
VkFMVUVTICgxKSIsIFtdKTsKLSAgICAgICAgfSk7IAotICAgIH0sIGZ1bmN0aW9uKGVycikgewot
ICAgICAgICBsb2coIlBlcnNpc3RlbnQgRGF0YWJhc2UgVHJhbnNhY3Rpb24gRXJyb3JlZCAtICIg
KyBlcnIpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9LCBmdW5jdGlvbigpIHsK
LSAgICAgICAgbG9nKCJQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlIik7
Ci0gICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0pOwotCi0gICAgZm9yZ290dGVuREIu
dHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRF
IFRBQkxFIElGIE5PVCBFWElTVFMgRW1wdHlUYWJsZSAodW5pbXBvcnRhbnREYXRhKSIsIFtdKTsK
LSAgICB9LCBmdW5jdGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJGb3Jnb3R0ZW4gRGF0YWJhc2Ug
VHJhbnNhY3Rpb24gRXJyb3JlZCAtICIgKyBlcnIpOwotICAgICAgICBmb3Jnb3R0ZW5EQiA9IDA7
Ci0gICAgICAgIEdDKCk7Ci0gICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0sIGZ1bmN0
aW9uKCkgewotICAgICAgICBsb2coIkZvcmdvdHRlbiBEYXRhYmFzZSBUcmFuc2FjdGlvbiBDb21w
bGV0ZSIpOwotICAgICAgICBmb3Jnb3R0ZW5EQiA9IDA7Ci0gICAgICAgIEdDKCk7Ci0gICAgICAg
IGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0pOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzZTljMGY2ZTk1YmFmYjhmNTc4MzM2MDk2MTZlZjUyYzcwODk2MTJm
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDYgKzAsMCBAQAotVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHRoZSBkYXRhYmFz
ZSBBUEkgYWxsb3dzIG11bHRpcGxlIHRyYW5zYWN0aW9ucyB0byBiZSBxdWV1ZWQgb24gdGhlIHNh
bWUgZGF0YWJhc2UgYXQgb25jZToKLVRyYW5zYWN0aW9uIDEgU3RhcnRlZAotVHJhbnNhY3Rpb24g
MSBTdWNjZWVkZWQKLVRyYW5zYWN0aW9uIDIgU3RhcnRlZAotVHJhbnNhY3Rpb24gMiBTdWNjZWVk
ZWQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlv
bnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTZhMmQxN2NhMDY4NzE3NTkwMWIzZWJi
ZTA3Y2M2MmY4ZjJkNmUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZl
cmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAot
VGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11bHRpcGxlIHRyYW5zYWN0aW9u
cyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRzIGluIGEg
ZGVhZGxvY2suCi1kYjEgcmVhZCBzdGF0ZW1lbnQgc3VjY2VlZGVkCi1kYjEgd3JpdGUgc3RhdGVt
ZW50IHN1Y2NlZWRlZAotZGIxIHRyYW5zYWN0aW9uIHN1Y2NlZWRlZAotZGIyIHJlYWQgc3RhdGVt
ZW50IHN1Y2NlZWRlZAotZGIyIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMiB0cmFuc2Fj
dGlvbiBzdWNjZWVkZWQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBs
ZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhMThjMzIyYzE1YTM2YjQxYjE0MzA3MzIzZTYz
OTYwYWRlMTYwYzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50
LWhhbmRsZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0ibXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVz
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7
Ij4KLVRoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiBxdWV1ZWluZyB1cCBtdWx0aXBsZSB0cmFuc2Fj
dGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcmVzdWx0cyBp
biBhIGRlYWRsb2NrLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlk
bid0IHJ1bi4KLTwvcHJlPiAKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpz
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50
LWhhbmRsZXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhYjRiOTNlZjgzYTc2
YzdlNGM5MjQ4MWRmZmYwZTUxNzdmNGFjMWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlv
bnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBA
Ci12YXIgY29tcGxldGUgPSAwOwotCi1mdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oKQotewotICAg
IC8vIFRoZSB0ZXN0IHNob3VsZCBlbmQgYWZ0ZXIgdHdvIHRyYW5zYWN0aW9ucwotICAgIGlmICgr
K2NvbXBsZXRlID09IDIgJiYgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLS8vIE9wZW5zIHRoZSBkYXRh
YmFzZSB1c2VkIGluIHRoaXMgdGVzdCBjYXNlCi1mdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkK
LXsKLSAgICByZXR1cm4gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVUcmFuc2FjdGlv
bnNPbkRpZmZlcmVudEhhbmRsZXNUZXN0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiMS4wIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVzdCB0byBt
YWtlIHN1cmUgdGhhdCBxdWV1ZWluZyBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50
IERCIGhhbmRsZXMgZG9lcyBub3QgcmVzdWx0IGluIGEgZGVhZGxvY2suIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAzMjc2OCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudFN1
Y2Nlc3NDYWxsYmFjayhkYk5hbWUsIHN0YXRlbWVudFR5cGUpCi17Ci0gICAgbG9nKGRiTmFtZSAr
ICIgIiArIHN0YXRlbWVudFR5cGUgKyAiIHN0YXRlbWVudCBzdWNjZWVkZWQiKTsKLX0KLQotZnVu
Y3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUsIHN0YXRlbWVudFR5cGUsIGVycm9y
KQotewotICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQg
ZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Ci19Ci0KLS8vIFJ1bnMgYSB0cmFuc2FjdGlvbiBv
biB0aGUgZ2l2ZW4gZGF0YWJhc2UKLWZ1bmN0aW9uIHJ1blRyYW5zYWN0aW9uKGRiLCBkYk5hbWUs
IHZhbCkKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgIC8vIEV4
ZWN1dGUgYSByZWFkLW9ubHkgc3RhdGVtZW50Ci0gICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNU
IENPVU5UKCopIEZST00gVGVzdDsiLCBbXSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHJlc3VsdCkgeyBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCAicmVhZCIpOyB9LAot
ICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IHN0YXRlbWVudEVycm9y
Q2FsbGJhY2soZGJOYW1lLCAicmVhZCIsIGVycm9yKTsgfSk7Ci0KLSAgICAgICAvLyBFeGVjdXRl
IGEgd3JpdGUgc3RhdGVtZW50IHRvIG1ha2Ugc3VyZSBTUUxpdGUgdHJpZXMgdG8gYWNxdWlyZSBh
biBleGNsdXNpdmUgbG9jayBvbiB0aGUgREIgZmlsZQotICAgICAgIHR4LmV4ZWN1dGVTcWwoIklO
U0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KTsiLCBbdmFsXSwKLSAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKHJlc3VsdCkgeyBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCAid3Jp
dGUiKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBzdGF0
ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgIndyaXRlIiwgZXJyb3IpOyB9KTsKLSAgICAgICB9
LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAvLyBUcmFuc2FjdGlvbiBmYWlsdXJlIGNh
bGxiYWNrCi0gICAgICAgICAgIGxvZyhkYk5hbWUgKyAiIHRyYW5zYWN0aW9uIGZhaWxlZDogIiAr
IGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICAgICB9
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgLy8gVHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFj
awotICAgICAgICAgICBsb2coZGJOYW1lICsgIiB0cmFuc2FjdGlvbiBzdWNjZWVkZWQiKTsKLSAg
ICAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAgICAgfSk7Ci19Ci0KLS8vIFdlIG5lZWQg
dG8gZ3VhcmFudGVlIHRoYXQgdGhlIFRlc3QgdGFibGUgZXhpc3RzIGJlZm9yZSB3ZSBydW4gb3Vy
IHRlc3QuCi0vLyBUaGVyZWZvcmUsIHRoZSB0ZXN0IGNvZGUgaXMgaW4gdGhlIHN1Y2Nlc3NDYWxs
YmFjayBvZiB0aGUgdHJhbnNhY3Rpb24gdGhhdCBjcmVhdGVzIHRoZSB0YWJsZS4KLWZ1bmN0aW9u
IHJ1blRlc3QoKSB7Ci0gICAgdHJ5IHsKLSAgICAgICAgdmFyIGRiID0gb3BlblRlc3REYXRhYmFz
ZSgpOwotICAgICAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAg
Ly8gQ3JlYXRlIHRoZSBUZXN0IHRhYmxlIGlmIGl0IGRvZXMgbm90IGV4aXN0Ci0gICAgICAgICAg
ICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gaW50
KTsiLCBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7fSwg
ZnVuY3Rpb24odHgsIGVycm9yKSB7fSk7Ci0gICAgICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikg
ewotICAgICAgICAgICAgICAgIGxvZygiQ3JlYXRpbmcgdGhlIFRlc3QgdGFibGUgZmFpbGVkOiAi
ICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgICAgICAvLyBUaGUgVGVzdCB0YWJsZSB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkKLSAgICAg
ICAgICAgICAgICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgICAgICAgICAgICAg
IHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGRiMSA9
PSBkYjIpCi0gICAgICAgICAgICAgICAgICAgIGxvZygiZmFpbHVyZTogZGIxID09IGRiMiIpOwot
ICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBydW5UcmFuc2FjdGlv
bihkYjEsICJkYjEiLCAxKTsKLSAgICAgICAgICAgICAgICAgICAgcnVuVHJhbnNhY3Rpb24oZGIy
LCAiZGIyIiwgMik7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSk7Ci0gICAgfSBj
YXRjaChlcnIpIHt9Ci19Ci0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0
aXBsZS10cmFuc2FjdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJh
bnNhY3Rpb25zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1OTc0NDAxMzk2
ZWZkYzg3NTNhNjBmYjNlOTQ4MTI0Mjg1MDM0Y2QuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2Fj
dGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0ibXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzIj48L3NjcmlwdD4KLTxoZWFkPgot
PGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgotVGhpcyBpcyBhIHRlc3QgdG8gc2Vl
IGlmIHRoZSBkYXRhYmFzZSBBUEkgYWxsb3dzIG11bHRpcGxlIHRyYW5zYWN0aW9ucyB0byBiZSBx
dWV1ZWQgb24gdGhlIHNhbWUgZGF0YWJhc2UgYXQgb25jZTo8YnI+Ci08cHJlIGlkPSJjb25zb2xl
Ij4gCi1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4gCi08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy5q
cyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NWNkYWJjZGJkZDY0YzNiNGExZGQ2M2YzNTMxNTg2OTYy
Y2FkNjE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsMzIgKzAsMCBAQAotdmFyIGNvbXBsZXRlID0gMDsKLQotZnVuY3Rpb24gY2hlY2tDb21w
bGV0aW9uKCkKLXsKLSAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwot
fQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRo
U3VmZml4KCJNdWx0aXBsZVRyYW5zYWN0aW9uc1Rlc3QiLCAiMS4wIiwgIlRlc3QgdG8gbWFrZSBz
dXJlIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBjYW4gYmUgcXVldWVkIGF0IG9uY2UgZm9yIGFuIEhU
TUw1IGRhdGFiYXNlIiwgMzI3NjgpOwotCi0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAxIFN0YXJ0ZWQiKTsKLSAgICB9LCBmdW5jdGlv
bihlcnIpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAxIEVycm9yZWQgLSAiICsgZXJyKTsK
LSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGxvZygiVHJhbnNhY3Rpb24gMSBTdWNjZWVkZWQiKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9u
KCk7Ci0gICAgfSk7Ci0KLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAg
ICBsb2coIlRyYW5zYWN0aW9uIDIgU3RhcnRlZCIpOwotICAgIH0sIGZ1bmN0aW9uKGVycikgewot
ICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDIgRXJyb3JlZCAtICIgKyBlcnIpOwotICAgICAgICBj
aGVja0NvbXBsZXRpb24oKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgbG9nKCJUcmFu
c2FjdGlvbiAyIFN1Y2NlZWRlZCIpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9
KTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgzMTE2NzUxMDZkODE2OTkxMTE0YWQ5
MWM2NjM4MGMyN2MzN2QzYTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRoaXMgdGVzdCBjaGVja3MgdGhhdCAnbnVs
bCcgY2FuIGJlIHVzZWQgd2hlcmV2ZXIgd2UgZXhwZWN0IGFuIG9wdGlvbmFsIGNhbGxiYWNrLgot
UEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxiYWNrcy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxiYWNrcy5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA0Y2EwZTFjM2ZmYmNkMzM2NjEwZGZhMzdhNTg3NjlmMDJjNDg2OTZl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3MuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOwotICAgIH0KLQotICAgIHRyeSB7Ci0gICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFz
ZSgiTnVsbENhbGxiYWNrcyIsICIxLjAiLCAiVGVzdCBmb3IgbnVsbCBjYWxsYmFja3MuIiwgMSk7
Ci0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICB0eC5l
eGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIsIG51
bGwpOwotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMg
KD8pIiwgWzFdLCBudWxsLCBudWxsKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VS
VCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFsyXSwgbnVsbCk7Ci0gICAgICAgICAgICB0eC5leGVj
dXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMykiLCBudWxsLCBudWxsLCBudWxsKTsK
LSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIs
IFs0XSwgbnVsbCwKLSAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHt9KTsKLSAg
ICAgICAgfSwgbnVsbCwgbnVsbCk7Ci0KLSAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVT
ICg/KSIsIFs1XSk7Ci0gICAgICAgIH0sIG51bGwsIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7
IH0pOwotICAgIH0gY2F0Y2goZXJyKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb25zb2xlIikuaW5uZXJIVE1MID0gIkZBSUwiOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0g
ICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0ICdudWxsJyBjYW4gYmUgdXNlZCB3aGVyZXZlciB3ZSBl
eHBlY3QgYW4gb3B0aW9uYWwgY2FsbGJhY2suCi08cHJlIGlkPSJjb25zb2xlIj5QQVNTPC9wcmU+
Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Bl
bi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmYzZmNiNmJhZGRhMTMwNTE1Mjg5NmU0OGEyYTEw
NTMzZDJjYjE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UsIHZlcnNpb24gbWlzbWF0Y2gsICcxLjAnIGRvZXMgbm90
IG1hdGNoIHRoZSBjdXJyZW50VmVyc2lvbiBvZiAnJwotVGhpcyB0ZXN0IHRlc3RzIG9wZW5EYXRh
YmFzZSgpJ3MgY3JlYXRpb24gY2FsbGJhY2suCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmYTk2YTY3NTRkOGRmNTc0MDBjZTQ2YzlkY2NhMjNlNWM0Mjc1ODQ1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFMRVJUOiB1bmRlZmluZWQKLUFM
RVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRl
ZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIG9wZW5EYXRhYmFzZSgp
IGNyZWF0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNl
LWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDk4YTQ2NjRiZTIwZmZmYzViZDg5OTllZjQ0ODdiZmFiMGVmNWNiNDEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgb3BlbkRhdGFiYXNlKCkgY3JlYXRp
b24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgotPHNjcmlwdD4KLXZhciBjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID0gMDsK
LWZ1bmN0aW9uIGRvbmUoKQotewotICAgIGlmICgoKytjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVk
ID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpKQotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0aW9uQ2FsbGJh
Y2sxKGRiKQotewotICAgIGFsZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIp
OwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24gY3JlYXRpb25DYWxsYmFjazIoZGIpCi17Ci0g
ICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwotICAgIGRvbmUoKTsKLX0KLQotZG9jdW1lbnQu
Ym9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3
b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlz
aWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOwotCi1pZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJB
bGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAotICAgICAgICAwLAotICAg
ICAgICAiZnVuY3Rpb24gY3JlYXRpb25DYWxsYmFjazEoZGIpXG4iICsKLSAgICAgICAgIntcbiIg
KwotICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKwotICAgICAgICAi
ICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCi0gICAgICAgICJ9
XG4iICsKLSAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ09wZW5EYXRhYmFzZUNyZWF0
aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxkJywgJzEuMCcsICcnLCAxLCBjcmVhdGlvbkNhbGxiYWNr
MSk7Iik7Ci0KLSAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdPcGVuRGF0YWJhc2VDcmVhdGlv
bkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEsIGNyZWF0aW9uQ2FsbGJhY2sy
KTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2suaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgxNjQ1YzQ1ZWU3NGQ0YjYxYWEwMTk4MDM0YTk0YThk
NGE3ZTM1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2suaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotZnVuY3Rpb24gZmlu
aXNoVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5U
ZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldERhdGFiYXNlUXVvdGEoMzI3NjgpOwotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wRGF0YWJhc2VDYWxsYmFja3MoKTsKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Ci0gICAgfQotCi0gICAgdmFyIHRyYW5zYWN0aW9uc1J1biA9IDA7Ci0K
LSAgICAvLyBPcGVuIGEgbmV3IGRhdGFiYXNlIHdpdGggYSBjcmVhdGlvbiBjYWxsYmFjaywgYW5k
IG1ha2Ugc3VyZSB0aGUgY3JlYXRpb24gY2FsbGJhY2sgaXMgcXVldWVkCi0gICAgdmFyIGNyZWF0
aW9uQ2FsbGJhY2tDYWxsZWQxID0gZmFsc2U7Ci0gICAgdmFyIGRiMU5hbWUgPSAiT3BlbkRhdGFi
YXNlQ3JlYXRpb25DYWxsYmFjazEiICsgKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKLSAgICB2YXIg
ZGIxID0gb3BlbkRhdGFiYXNlKGRiMU5hbWUsICIxLjAiLCAiIiwgMSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKGRiKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY3JlYXRpb25DYWxsYmFja0NhbGxlZDEgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChkYi52ZXJzaW9uICE9ICIiKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxvZygiQ3JlYXRpb24gY2FsbGJhY2sgd2FzIGNhbGxlZCB3aXRoIGEgZGF0
YWJhc2Ugd2l0aCB2ZXJzaW9uICIgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGIudmVyc2lvbiArICI7IGVtcHR5IHN0cmluZyBleHBlY3RlZC4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAg
Ly8gUHV0dGluZyB0aGlzIGNvZGUgaW5zaWRlIGEgdHJhbnNhY3Rpb24gb24gJ2RiMScgbWFrZXMg
c3VyZSB0aGF0IGl0IGlzIGV4ZWN1dGVkIGFmdGVyCi0gICAgLy8gdGhlIGNyZWF0aW9uIGNhbGxi
YWNrIGlzLgotICAgIGRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICBpZiAo
IWNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxKSB7Ci0gICAgICAgICAgICBsb2coIkNyZWF0aW9uIGNh
bGxiYWNrIGZvciBkYjEgd2FzIG5vdCBjYWxsZWQuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0
KCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCsrdHJhbnNhY3Rpb25zUnVuID09IDIpCi0gICAg
ICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSk7Ci0KLSAgICAvLyBUcnkgdG8gb3BlbiBhbm90
aGVyIGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZS4KLSAgICAvLyBTaW5jZSB0aGUgdmVyc2lv
biBvZiB0aGlzIGRhdGFiYXNlIGlzICIiIChlbXB0eSBzdHJpbmcpLCBvcGVuRGF0YWJhc2UoKSBz
aG91bGQgcmV0dXJuCi0gICAgLy8gYSBudWxsIGhhbmRsZSBhbmQgdGhyb3cgYSBJTlZBTElEX1NU
QVRFX0VSUiBleGNlcHRpb24uCi0gICAgdmFyIGRiMUZhaWwgPSBudWxsOwotICAgIHRyeSB7Ci0g
ICAgICAgIGRiMUZhaWwgPSBvcGVuRGF0YWJhc2UoZGIxTmFtZSwgIjEuMCIsICIiLCAxKTsKLSAg
ICAgICAgbG9nKCJUaGlzIHN0YXRlbWVudCBzaG91bGQgbm90IGhhdmUgYmVlbiBleGVjdXRlZDsg
YW4gSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uIHNob3VsZCd2ZSBiZWVuIHRocm93bi4iKTsK
LSAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0gY2F0Y2goZXJyKSB7Ci0gICAgICAgIGlmIChk
YjFGYWlsKSB7Ci0gICAgICAgICAgICBsb2coImRiMUZhaWwgc2hvdWxkIGhhdmUgYmVlbiBudWxs
LiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAg
Ly8gT3BlbiBhIGhhbmRsZSB0byBhbm90aGVyIGRhdGFiYXNlLCBmaXJzdCB3aXRob3V0IGEgY3Jl
YXRpb24gY2FsbGJhY2ssIHRoZW4gd2l0aCBvbmUuCi0gICAgLy8gTWFrZSBzdXJlIHRoZSBjcmVh
dGlvbiBjYWxsYmFjayBpcyBub3QgY2FsbGVkLgotICAgIHZhciBjcmVhdGlvbkNhbGxiYWNrQ2Fs
bGVkMiA9IGZhbHNlOwotICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoIk9wZW5EYXRhYmFzZUNy
ZWF0aW9uQ2FsbGJhY2syIiwgIjEuMCIsICIiLCAxKTsKLSAgICBkYjIgPSBvcGVuRGF0YWJhc2Uo
Ik9wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2syIiwgIjEuMCIsICIiLCAxLAotICAgICAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbihkYikgeyBjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMiA9IHRy
dWU7IH0pOwotICAgIGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICBpZiAo
Y3JlYXRpb25DYWxsYmFja0NhbGxlZDIpIHsKLSAgICAgICAgICAgIGxvZygiQ3JlYXRpb24gY2Fs
bGJhY2sgZm9yIGRiMiBzaG91bGQgbm90IGhhdmUgYmVlbiBjYWxsZWQuIik7Ci0gICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCsrdHJhbnNhY3Rpb25zUnVu
ID09IDIpCi0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSk7Ci19Ci0KLTwvc2NyaXB0
PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UaGlzIHRlc3QgdGVzdHMg
b3BlbkRhdGFiYXNlKCkncyBjcmVhdGlvbiBjYWxsYmFjay4KLTxwcmUgaWQ9ImNvbnNvbGUiPgot
PC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJlMmZmYzMwZDRhNDY1YmRkZWJjOTliZjAzNjc5NTk5
ZWY5OGZmNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCBjYWxsaW5n
IG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIGRvZXMgbm90IGNhdXNl
IGFuIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24uCi1TVUNDRVNTISBEaWQgbm90IHRocm93IGFuIGV4
Y2VwdGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1l
bXB0eS12ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1w
dHktdmVyc2lvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjA0MTEzODNm
MThjZjgwYzljNGFkODM4ZjcxNTQ5YjY5YzY2NzZjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1l
bXB0eS12ZXJzaW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKLSAgICAKLSAgICB0cnkgeyAgICAKLSAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFi
YXNlKCc1NTYyNDcwVGVzdCcsICcnLCAnVGVzdCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzU1NjI0NzA+
IG9wZW5EYXRhYmFzZSBkb2VzIG5vdCB3b3JrIHdoZW4gdGhlIHZlcnNpb24gc3RyaW5nIGlzIGVt
cHR5JywgMSk7Ci0gICAgfSBjYXRjaCAoZSkgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ0ZBSUxVUkUnCi0gICAgfQotfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08ZGl2PlRoaXMgdGVzdHMgdGhh
dCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIGRvZXMg
bm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24uCi08ZGl2IGlkPSJyZXN1bHQiPgot
U1VDQ0VTUyEgRGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uCi08L2Rpdj4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVy
LXF1b3RhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1v
dmVyLXF1b3RhLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDBj
MTVlNDIwNGY1NjEyMzc2OGNkMWU1ZWU2YzI2YWFlOGRiNmIzNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0
YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAg
QEAKLVRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRoIGEgc2l6ZSBvdmVy
IDVNQiBkb2Vzbid0IGFzc2VydCBvbiBkZWJ1ZyBidWlsZHMuCi1QQVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMmE5MjY0ZGUzM2RmMTE3NDQ5YjRjM2U1M2E2N2NmZWY5NjQ0MWJm
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBydW5U
ZXN0KCkgewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgIH0KLQotICAgIHRyeSB7Ci0gICAgICAg
IHZhciBkYiA9IG9wZW5EYXRhYmFzZSgnT3ZlclF1b3RhT3BlbicsICcnLCAnVGVzdCBmb3IgYnVn
IDM2NDczOiBtaXNzaW5nIGxvY2sgaW4gY2FsbCB0byBkb25lQ3JlYXRpbmdEYXRhYmFzZScsIDEw
MDAwMDAwKTsKLSAgICB9IGNhdGNoIChlcnIpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdQQVNTJwotICAgIH0KLX0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPGRpdj5UaGlzIHRlc3RzIHRoYXQg
Y2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhIHNpemUgb3ZlciA1TUIgZG9lc24ndCBhc3NlcnQg
b24gZGVidWcgYnVpbGRzLgotPGRpdiBpZD0icmVzdWx0Ij4KLUZBSUw6IFdlIHNob3VsZG4ndCBo
YXZlIGJlZW4gYWJsZSB0byBvcGVuIHRoZSBkYXRhYmFzZS4KLTwvZGl2PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1l
bXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRh
YmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQxZDk5NjAzNDRjZjUwODQyZjdmZTk1OGVlN2M2ZGUyNzY0YjJkZjkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiB1bmFibGUgdG8gb3BlbiBk
YXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJ3Rlc3QnIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJy
ZW50VmVyc2lvbiBvZiAnJwotVGhpcyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdp
dGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0cyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRo
YXQgZGF0YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmluZyBhbmQgc3Vic2VxdWVudCBhdHRlbXB0cyB0
byBvcGVuIHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlmZmVyZW50IGV4cGVjdGVkIHZlcnNpb24gdGhy
b3cgYW4gZXhjZXB0aW9uLgotU1VDQ0VTUywgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uIEVycm9y
OiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24uaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjM2MDdmZDE5YzlkNzg1MWQyYTBlZmE0M2UzNTA0
MGFjOTllZGY0ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24uaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
PgotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICB9Ci0gICAg
Ci0gICAgdHJ5IHsgICAgCi0gICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgnMjg0MTdUZXN0
JywgJycsICdUZXN0IGZvciBidWcgMjg0MTc6IG9wZW5EYXRhYmFzZSgpIHdpdGggZW1wdHkgdmVy
c2lvbiBzZXRzIGRiIHZlcnNpb24gdXAgaW5jb3JyZWN0bHknLCAwKTsKLSAgICAgICAgLy8gVGhl
IG5leHQgb3BlbkRhdGFiYXNlIGNhbGwgc2hvdWxkIGZhaWwgYmVjYXVzZSB0aGUgZGF0YWJhc2Ug
dmVyc2lvbiB3YXMgc2V0IHRvICcnIGJ5IHRoZSBjYWxsIGFib3ZlLCBhbmQgbm93IHdlIGFyZSBl
eHBlY3RpbmcgYSBkaWZmZXJlbnQgdmVyc2lvbi4KLSAgICAgICAgdmFyIGRiMiA9IG9wZW5EYXRh
YmFzZSgnMjg0MTdUZXN0JywgJ3Rlc3QnLCAnVGVzdCBmb3IgYnVnIDI4NDE3OiBvcGVuRGF0YWJh
c2UoKSB3aXRoIGVtcHR5IHZlcnNpb24gc2V0cyBkYiB2ZXJzaW9uIHVwIGluY29ycmVjdGx5Jywg
MCk7Ci0gICAgfSBjYXRjaCAoZSkgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cmVzdWx0JykuaW5uZXJIVE1MID0gJ1NVQ0NFU1MsIGFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duLiAn
ICsgZTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLTxkaXY+VGhpcyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYW4g
ZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0cyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoYXQgZGF0
YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmluZyBhbmQgc3Vic2VxdWVudCBhdHRlbXB0cyB0byBvcGVu
IHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlmZmVyZW50IGV4cGVjdGVkIHZlcnNpb24gdGhyb3cgYW4g
ZXhjZXB0aW9uLjwvZGl2PgotPGRpdiBpZD0icmVzdWx0Ij4KLUZBSUxVUkUgLSBhbiBleGNlcHRp
b24gd2FzIGV4cGVjdGVkLgotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJv
Z3Jlc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdo
aWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYWNhYzhhZmNlYmUxMWQ2MTA3ZWU4ZDhlNzY4NDFiMzU2YWJlMDM2My4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1UaGlzIGlzIGEgdGVzdCB0
byBzZWUgaWYgb3BlbmluZyBhIGRhdGFiYXNlIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMgcnVubmlu
ZyBvbiBhIGRpZmZlcmVudCBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcmVzdWx0cyBpbiBh
IGRlYWRsb2NrLgotb3BlbkRhdGFiYXNlKCkgc3VjY2VlZGVkLgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jl
c3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2Fj
dGlvbi1pbi1wcm9ncmVzcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MDdh
MWE0NWM5YzIzNDk1NGJlMmUwMDk3ZTkwNzliNjU0NzcxY2MwLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRh
YmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0
YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJvcGVuLWRhdGFiYXNlLXdo
aWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KLVRoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiBv
cGVuaW5nIGEgZGF0YWJhc2Ugd2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nIG9uIGEgZGlm
ZmVyZW50IGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRzIGluIGEgZGVhZGxvY2su
PGJyPgotPHByZSBpZD0iY29uc29sZSI+Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3By
ZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Bl
bi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2ExYTBjMDE0ZTIzNjU5MGU3NjQ0MGE3YTQ3
YTA0ZDAxNjRjYTNjNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3MuanMKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vLyBPcGVucyB0
aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2FzZQotZnVuY3Rpb24gb3BlblRlc3REYXRh
YmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIk9wZW5EYXRhYmFz
ZVdoaWxlVHJhbnNhY3Rpb25JblByb2dyZXNzVGVzdCIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIjEuMCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRl
c3QgdG8gbWFrZSBzdXJlIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2UoKSB3aGlsZSBhIHRyYW5z
YWN0aW9uIGlzIGluIHByb2dyZXNzIG9uIGEgZGlmZmVyZW50IGhhbmRsZSB0byB0aGUgc2FtZSBk
YXRhYmFzZSBkb2VzIG5vdCByZXN1bHQgaW4gYSBkZWFkbG9jay4iLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDIxMDAwMDApOyAvLyAyTUIgKyBlcHNpbG9uCi19Ci0KLS8vIFNl
ZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyMDcKLS8vIEluIG9y
ZGVyIHRvIHRyaWdnZXIgdGhpcyBidWcsIHRoZSB0cmFuc2FjdGlvbiBtdXN0IGFjcXVpcmUgYW4g
ZXhjbHVzaXZlCi0vLyBsb2NrIG9uIHRoZSBEQiBmaWxlIGJlZm9yZSB0cnlpbmcgdG8gb2J0YWlu
IGEgc2Vjb25kIGhhbmRsZSB0byB0aGUgc2FtZSBEQi4KLS8vIFRoZSBvbmx5IHdheSB0byBmb3Jj
ZSBTUUxpdGUgdG8gb2J0YWluIGFuIGV4Y2x1c2l2ZSBsb2NrIGlzIHRvIGNoYW5nZSBtb3JlCi0v
LyB0aGFuIGNhY2hlX3NpemUgKiBwYWdlX3NpemUgYnl0ZXMgaW4gdGhlIGRhdGFiYXNlLiBUaGUg
ZGVmYXVsdCB2YWx1ZSBmb3IKLS8vIGNhY2hlX3NpemUgaXMgMjAwMCBwYWdlcywgYW5kIHRoZSBk
ZWZhdWx0IHBhZ2Vfc2l6ZSBpcyAxMDI0IGJ5dGVzLiBTbyB0aGUKLS8vIHNpemUgb2YgdGhlIGJs
b2IgbXVzdCBiZSBhdCBsZWFzdCAyTUIuCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICB2YXIg
ZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgIGRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0
eCkgewotICAgICAgICAvLyBDcmVhdGUgdGhlIFRlc3QgdGFibGUgaWYgaXQgZG9lcyBub3QgZXhp
c3QKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVz
dCAoRm9vIEJMT0IpOyIpOwotICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0
IFZBTFVFUyAoWkVST0JMT0IoMjA5NzE1MikpOyIsIFtdLAotICAgICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGIyID0g
b3BlblRlc3REYXRhYmFzZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIm9wZW5E
YXRhYmFzZSgpIHN1Y2NlZWRlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICBsb2coIkV4ZWN1dGluZyBzdGF0ZW1lbnQgZmFpbGVkOiAiICsgZXJyb3IubWVzc2Fn
ZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgLy8gQ2xlYW4gdXAgdGhl
IERCIHRvIGFsbG93IGZvciByZXBlYXRlZCBydW5zIG9mIHRoaXMgdGVzdAotICAgICAgICAvLyB3
aXRob3V0IG5lZWRpbmcgdG8gaW5jcmVhc2UgdGhlIGRlZmF1bHQgYWxsb3dlZCBxdW90YSAoNU1C
KQotICAgICAgICB0eC5leGVjdXRlU3FsKCJERUxFVEUgRlJPTSBUZXN0OyIpOwotICAgIH0sIGZ1
bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gZmFpbGVkOiAiICsgZXJy
b3IubWVzc2FnZSk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Ci0gICAgfSk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3By
aXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFmNjdkMmZhYzRmMjZlNmYyZDcyODAwNjg4MGQy
ZjVmZjUzMjkwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFiYXNlIGR1cmluZyBwcml2YXRl
IGJyb3dzaW5nIGZhaWwuCi1TZXR1cCBzdGF0ZW1lbnQgMSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5
Ci1TZXR1cCBzdGF0ZW1lbnQgMiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Ci1Qcml2YXRlIGJyb3dz
aW5nIHN0YXRlbWVudCAxIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCi1jb3VsZCBub3QgcHJlcGFy
ZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCi1Qcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVu
dCAyIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCi1jb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQg
KDIzIG5vdCBhdXRob3JpemVkKQotUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMyBjb21wbGV0
ZWQgd2l0aCBhbiBlcnJvcgotY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0
aG9yaXplZCkKLVByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50IDQgY29tcGxldGVkIHdpdGggYW4g
ZXJyb3IKLWNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1Q
cml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA1IGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCi1jb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIGFjY2VzcyB0byBQcml2YXRlVGVzdDEucmFuZG9t
RGF0YSBpcyBwcm9oaWJpdGVkKQotVGVzdCBlbmRlZAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWI1ODgyYjRkZTFjNTYyMDY0YzVlODQ3NzAxMDY5Nzlh
MDFmYzE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0Pgot
Ci1mdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQot
Ci12YXIgc2V0dXBTdGF0ZW1lbnRzID0gWwotICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNU
UyBQcml2YXRlVGVzdDEgKHJhbmRvbURhdGEpIiwKLSAgICAiSU5TRVJUIElOVE8gUHJpdmF0ZVRl
c3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiCi1dOwotCi12YXIgcHJpdmF0ZUJyb3dzaW5nU3RhdGVt
ZW50cyA9IFsKLSAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUHJpdmF0ZVRlc3QyIChy
YW5kb21EYXRhKSIsCi0gICAgIkRFTEVURSBGUk9NIFByaXZhdGVUZXN0MSIsCi0gICAgIkRST1Ag
VEFCTEUgUHJpdmF0ZVRlc3QxIiwKLSAgICAiSU5TRVJUIElOVE8gUHJpdmF0ZVRlc3QxIFZBTFVF
UyAoJ3NvbWVkYXRhJykiLAotICAgICJTRUxFQ1QgKiBGUk9NIFByaXZhdGVUZXN0MSIKLV07Ci0K
LXZhciBjb21wbGV0ZWQgPSAwOwotdmFyIHRoZVRyYW5zYWN0aW9uOwotCi1mdW5jdGlvbiBzZXR1
cFN1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQotewotICAgICsrY29tcGxldGVkOwotICAgIHdy
aXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBsZXRlZCArICIgY29tcGxl
dGVkIHN1Y2Nlc3NmdWxseSIpOwotICAgIGNoZWNrU2V0dXBDb21wbGV0ZSgpOwotfQotCi1mdW5j
dGlvbiBzZXR1cEVycm9yRnVuY3Rpb24odHgsIGVycm9yKQotewotICAgICsrY29tcGxldGVkOwot
ICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBsZXRlZCArICIg
Y29tcGxldGVkIHdpdGggYW4gZXJyb3JcbiIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBjaGVja1Nl
dHVwQ29tcGxldGUoKTsKLX0KLQotZnVuY3Rpb24gcHJpdmF0ZUJyb3dzaW5nU3VjY2Vzc0Z1bmN0
aW9uKHR4LCByZXN1bHQpCi17Ci0gICAgKytjb21wbGV0ZWQ7Ci0gICAgd3JpdGVNZXNzYWdlVG9M
b2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRl
ZCBzdWNjZXNzZnVsbHkiKTsKLX0KLQotZnVuY3Rpb24gcHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5j
dGlvbih0eCwgZXJyb3IpCi17Ci0gICAgKytjb21wbGV0ZWQ7Ci0gICAgd3JpdGVNZXNzYWdlVG9M
b2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRl
ZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotCi1mdW5jdGlvbiBydW5TZXR1cCh0cmFuc2FjdGlvbikKLXsKLSAgICB0aGVUcmFuc2FjdGlv
biA9IHRyYW5zYWN0aW9uOwotICAgIGZvciAoaSBpbiBzZXR1cFN0YXRlbWVudHMpCi0gICAgICAg
IHRoZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoc2V0dXBTdGF0ZW1lbnRzW2ldLCBbXSwgc2V0dXBT
dWNjZXNzRnVuY3Rpb24sIHNldHVwRXJyb3JGdW5jdGlvbik7Ci19Ci0KLWZ1bmN0aW9uIGNoZWNr
U2V0dXBDb21wbGV0ZSgpCi17Ci0gICAgaWYgKGNvbXBsZXRlZCA9PSBzZXR1cFN0YXRlbWVudHMu
bGVuZ3RoKQotICAgICAgICBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpOwotfQotCi1mdW5jdGlv
biBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCi17Ci0gICAgY29tcGxldGVkID0gMDsKLQotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Ci0gICAgCi0gICAgZm9yIChp
IGluIHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHMpCi0gICAgICAgIHRoZVRyYW5zYWN0aW9uLmV4
ZWN1dGVTcWwocHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50c1tpXSwgW10sIHByaXZhdGVCcm93c2lu
Z1N1Y2Nlc3NGdW5jdGlvbiwgcHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5jdGlvbik7Ci19Ci0KLWZ1
bmN0aW9uIGVuZFRlc3QoKQotewotICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJUZXN0IGVuZGVkIik7
Ci0gICAgCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkK
LXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRh
YmFzZSgiUHJpdmF0ZUJyb3dzaW5nTm9SZWFkTm9Xcml0ZVRlc3QiLCAiMS4wIiwgIlRlc3QgcHJp
dmF0ZSBicm93c2luZyBubyByZWFkL3dyaXRlIHNhZmV0eSIsIDEpOwotICAgIGRhdGFiYXNlLnRy
YW5zYWN0aW9uKHJ1blNldHVwLCBlbmRUZXN0LCBlbmRUZXN0KTsKLX0KLQotPC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFiYXNlIGR1cmluZyBwcml2YXRlIGJyb3dz
aW5nIGZhaWwuPGJyPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDg2MGYwYzA0ZGQ3NTZmYzhkNDc0YjM3OWJl
M2E1ZmM3ZjdjZTg3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVUkgREVMRUdBVEUgREFUQUJBU0UgQ0FMTEJBQ0s6
IGV4Y2VlZGVkRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5T3JpZ2luOntmaWxlLCAsIDB9IGRhdGFi
YXNlOlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMgotVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1
cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0
YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2pl
Y3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMuCi1UaGUgdGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNl
cywgc2V0cyB0aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4gdG8gNDBrLCB0aGVuIHRyaWVzIHRvIGlu
c2VydCAxN2sgb2YgZGF0YSBpbnRvIHR3byBkYXRhYmFzZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFu
bmVkLCB0aGUgc2Vjb25kIGluc2VydCBzaG91bGQgZmFpbCwgdGhlIFVJIERlbGVnYXRlIHNob3Vs
ZCBiZSBpbmZvcm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVvdGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0
aGUgcXVvdGEgZm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRpbmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJk
IHRpbWUgc2hvdWxkIHN1Y2NlZWQgYWdhaW4uCi1BZGRpbmcgYSB0YWJsZQotSW5zZXJ0aW5nIHNv
bWUgZGF0YQotRG9uZSBhZGRpbmcgZGF0YQotQWRkaW5nIGEgdGFibGUKLUluc2VydGluZyBzb21l
IGRhdGEKLUV4cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJl
bWFpbmluZyBzdG9yYWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBh
bmQgdGhlIHVzZXIgZGVjbGluZWQgdG8gYWxsb3cgbW9yZSBzcGFjZQotRG9uZSBhZGRpbmcgZGF0
YQotQWRkaW5nIGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLURvbmUgYWRkaW5nIGRhdGEK
LVRlc3QgQ29tcGxldGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10
cmFja2luZy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10cmFja2luZy5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTUyNTIzYjE2M2YwNTQ1NTg4YTg4ZWIxMzEw
YmRmZDhjNjYyM2ExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmcuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDExMyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLXZhciBkYXRhYmFz
ZTEgPSBudWxsOwotdmFyIGRhdGFiYXNlMiA9IG51bGw7Ci12YXIgZGF0YWJhc2UzID0gbnVsbDsK
LQotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotZnVuY3Rpb24g
ZmluaXNoVGVzdCgpCi17Ci0gICAgbG9nKCJUZXN0IENvbXBsZXRlIik7Ci0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKHR4LCBlcnJv
cikKLXsKLSAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gIiArIGVycm9yLm1lc3NhZ2Up
OwotICAgIGZpbmlzaFRlc3QoKTsKLX0KLQotZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckZ1bmN0
aW9uKGRiLCBlcnJvcikKLXsKLSAgICAvLyBXZSBvbmx5IGV4cGVjdCBhbiBlcnJvciBtZXNzYWdl
IGZvciBkYXRhYmFzZTIKLSAgICBpZiAoZGIgPT0gZGF0YWJhc2UyKSB7Ci0gICAgICAgIGxvZygi
RXhwZWN0ZWQgcXVvdGEgZXhjZXB0aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICBj
aGVja0NvbXBsZXRpb24oZGIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGxvZygiVW5leHBlY3Rl
ZCBleGNlcHRpb24gLSAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsK
LSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGNoZWNrQ29tcGxldGlvbihkYikKLXsKLSAgICBsb2coIkRv
bmUgYWRkaW5nIGRhdGEiKTsKLQotICAgIGlmIChkYXRhYmFzZTMpIHsKLSAgICAgICAgZmluaXNo
VGVzdCgpOwotICAgIH0gZWxzZSBpZiAoZGF0YWJhc2UyKSB7Ci0gICAgICAgIGRhdGFiYXNlMyA9
IG9wZW5EYXRhYmFzZSgiUXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UzIiwgIjEuMCIsICJUZXN0IGZv
ciBxdW90YSBtYW5hZ2VtZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKLSAgICAgICAgdGVzdERh
dGFiYXNlKGRhdGFiYXNlMyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZGF0YWJhc2UyID0gb3Bl
bkRhdGFiYXNlKCJRdW90YU1hbmFnZW1lbnREYXRhYmFzZTIiLCAiMS4wIiwgIlRlc3QgZm9yIHF1
b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81NjI4NDY4PiIsIDEpOwotICAgICAgICB0ZXN0RGF0YWJh
c2UoZGF0YWJhc2UyKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGFkZERhdGEoZGIpCi17Ci0gICAg
ZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgbG9nKCJJbnNlcnRpbmcgc29t
ZSBkYXRhIik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0IChy
YW5kb21EYXRhKSBWQUxVRVMgKFpFUk9CTE9CKDE3NDA4KSkiLCBbXSwKLSAgICAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIHN0YXRlbWVudEVycm9yRnVuY3Rpb24p
OwotICAgICAgICBpZiAoZGIgPT0gZGF0YWJhc2UyKSB7Ci0gICAgICAgICAgICAvLyBUcnkgdG8g
cnVuIHRoaXMgc3RhdGVtZW50IG9uICdkYXRhYmFzZTInIG9ubHkuCi0gICAgICAgICAgICAvLyBJ
dCBzaG91bGQgbm90IGJlIHJ1biwgYmVjYXVzZSB0aGUgcHJldmlvdXMgc3RhdGVtZW50IHNob3Vs
ZCd2ZQotICAgICAgICAgICAgLy8gcmVzdWx0ZWQgaW4gYSBmYWlsdXJlIHRoYXQgbWFkZSBzcWxp
dGUgcm9sbCBiYWNrIHRoZSBlbnRpcmUgdHJhbnNhY3Rpb24uCi0gICAgICAgICAgICB0eC5leGVj
dXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFMVUVTIChaRVJPQkxP
QigxMCkpIiwgW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1
bHQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygiVGhpcyBzdGF0ZW1lbnQg
c2hvdWxkIG5vdCBoYXZlIGJlZW4gcnVuLiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBzdGF0ZW1lbnRF
cnJvckZ1bmN0aW9uKTsKLSAgICAgICAgfQotICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAg
ICAgIHRyYW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJyb3IpOwotICAgIH0sIGZ1bmN0aW9u
KCkgewotICAgICAgICBjaGVja0NvbXBsZXRpb24oZGIpOwotICAgIH0pOwotfQotCi1mdW5jdGlv
biB0ZXN0RGF0YWJhc2UoZGIpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
LSAgICAgICAgbG9nKCJBZGRpbmcgYSB0YWJsZSIpOwotICAgICAgICB0eC5leGVjdXRlU3FsKCJD
UkVBVEUgVEFCTEUgRGF0YVRlc3QgKHJhbmRvbURhdGEpIiwgW10sCi0gICAgICAgICAgICAgICAg
ICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsK
LSAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICB0cmFuc2FjdGlvbkVycm9yRnVuY3Rp
b24oZGIsIGVycm9yKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgYWRkRGF0YShkYik7
Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJB
bGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERhdGFiYXNl
Q2FsbGJhY2tzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldERhdGFiYXNlUXVv
dGEoNDA5NjApOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAg
ICBkYXRhYmFzZTEgPSBvcGVuRGF0YWJhc2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMSIsICIx
LjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7Ci0g
ICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UaGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0
aGF0IHF1b3RhcyBhcmUgZW5mb3JjZWQgcGVyLW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFz
ZSwgYXMgdGhleSB3ZXJlIHByaW9yIHRvIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMv
d2Via2l0L2NoYW5nZXNldC8yOTk4My48YnI+Ci1UaGUgdGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNl
cywgc2V0cyB0aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4gdG8gNDBrLCB0aGVuIHRyaWVzIHRvIGlu
c2VydCAxN2sgb2YgZGF0YSBpbnRvIHR3byBkYXRhYmFzZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFu
bmVkLCB0aGUgc2Vjb25kIGluc2VydCBzaG91bGQgZmFpbCwgdGhlIFVJIERlbGVnYXRlIHNob3Vs
ZCBiZSBpbmZvcm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVvdGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0
aGUgcXVvdGEgZm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRpbmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJk
IHRpbWUgc2hvdWxkIHN1Y2NlZWQgYWdhaW4uCi08cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgot
PC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQt
YW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10
b2dldGhlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNjODk3
OWMzY2I1MDdkOTIwMDA1NzdmOGZmY2M3NzA0N2YyMTU3ZDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13
cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBhbmQgd3Jp
dGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNl
IGRvbid0IHJ1biB0b2dldGhlci4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlv
biBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nl
c3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4K
LVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNh
Y3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVu
LXRvZ2V0aGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxMWRhMzU2NzhjMWMwMTQ4MmE2NDUxNDUyZWNhNDUwMGY4ZmM5ODU2Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
cmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJl
c291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlYWQt
YW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3QgdGVz
dHMgdGhhdCByZWFkIGFuZCB3cml0ZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMg
dG8gdGhlIHNhbWUgZGF0YWJhc2UgZG9uJ3QgcnVuIHRvZ2V0aGVyLjxicj4KLTxwcmUgaWQ9ImNv
bnNvbGUiPgotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVhZC1h
bmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1YjgxN2JhZDMzMDczNzFkN2FkMTk5YjQwYmYxMTliNWIwNTYzN2Q0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVy
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBAQAotZnVuY3Rpb24gdGVybWluYXRlVGVz
dCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBvcGVuVGVzdERh
dGFiYXNlKCkKLXsKLSAgICByZXR1cm4gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiUmVhZEFuZFdy
aXRlVHJhbnNhY3Rpb25zRG9udFJ1blRvZ2V0aGVyVGVzdCIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIjEuMCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRp
ZmZlcmVudCBEQiBoYW5kbGVzIHRvIHRoZSBzYW1lIERCIGRvbid0IHJ1biBhdCB0aGUgc2FtZSB0
aW1lLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3NjgpOwotfQotCi12
YXIgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwotdmFyIHdyaXRlVHJhbnNhY3Rpb25z
SW5Qcm9ncmVzcyA9IDA7Ci12YXIgdG90YWxUcmFuc2FjdGlvbnMgPSAwOwotdmFyIGZpbmlzaGVk
VHJhbnNhY3Rpb25zID0gMDsKLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZGIsIHJlYWRPbmx5
KQotewotICAgIHZhciB0cmFuc2FjdGlvbkZ1bmN0aW9uID0gKHJlYWRPbmx5ID8gZGIucmVhZFRy
YW5zYWN0aW9uIDogZGIudHJhbnNhY3Rpb24pOwotICAgIHRyYW5zYWN0aW9uRnVuY3Rpb24uY2Fs
bChkYiwgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIGlmIChyZWFkT25seSkgewotICAgICAg
ICAgICAgICAgIGlmICh3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgIT0gMCkgewotICAgICAg
ICAgICAgICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb24gc3RhcnRpbmcgd2hpbGUgd3JpdGUg
dHJhbnNhY3Rpb24gaW4gcHJvZ3Jlc3MuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0
ZVRlc3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmVhZFRyYW5zYWN0
aW9uc0luUHJvZ3Jlc3MrKzsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAg
aWYgKChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAwKSB8fCAod3JpdGVUcmFuc2FjdGlv
bnNJblByb2dyZXNzICE9IDApKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxvZygiV3JpdGUgdHJh
bnNhY3Rpb24gc3RhcnRpbmcgd2hpbGUgYW5vdGhlciB0cmFuc2FjdGlvbiBpbiBwcm9ncmVzcy4i
KTsKLSAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgICAgICB3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MrKzsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAqIEZST00gVGVzdDsi
KTsKLSAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgIGxvZygocmVhZE9u
bHkgPyAiUmVhZCIgOiAiV3JpdGUiKSArICIgdHJhbnNhY3Rpb24gZmFpbGVkOiAiICsgZXJyb3Iu
bWVzc2FnZSk7Ci0gICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgIH0sIGZ1bmN0
aW9uKCkgewotICAgICAgICAgICAgIGZpbmlzaGVkVHJhbnNhY3Rpb25zKys7Ci0gICAgICAgICAg
ICAgaWYgKHJlYWRPbmx5KQotICAgICAgICAgICAgICAgICByZWFkVHJhbnNhY3Rpb25zSW5Qcm9n
cmVzcy0tOwotICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgd3JpdGVUcmFuc2Fj
dGlvbnNJblByb2dyZXNzLS07Ci0gICAgICAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiBzdWNjZXNz
ZnVsLiIpOwotICAgICAgICAgICAgIGlmICgoZmluaXNoZWRUcmFuc2FjdGlvbnMgPT0gdG90YWxU
cmFuc2FjdGlvbnMpICYmIChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKSAmJiAod3Jp
dGVUcmFuc2FjdGlvbnNJblByb2dyZXNzID09IDApKQotICAgICAgICAgICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7Ci0gICAgICAgIH0pOwotfQotCi1mdW5jdGlvbiBydW5SZWFkQW5kV3JpdGVUcmFu
c2FjdGlvbnMoZGIxLCBkYjIsIGRiMykKLXsKLSAgICB0b3RhbFRyYW5zYWN0aW9ucyA9IDEwOwot
ICAgIGZpbmlzaGVkVHJhbnNhY3Rpb25zID0gMDsKLSAgICBydW5UcmFuc2FjdGlvbihkYjEsIHRy
dWUpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgdHJ1ZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24o
ZGIxLCBmYWxzZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKLSAgICBydW5UcmFu
c2FjdGlvbihkYjIsIHRydWUpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMywgdHJ1ZSk7Ci0gICAg
cnVuVHJhbnNhY3Rpb24oZGIxLCBmYWxzZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIyLCBmYWxz
ZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihk
YjMsIHRydWUpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHZhciBkYjEgPSBvcGVu
VGVzdERhdGFiYXNlKCk7Ci0gICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICB2
YXIgZGIzID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgIGRiMS50cmFuc2FjdGlvbihmdW5jdGlv
bih0eCkgewotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBF
WElTVFMgVGVzdCAoRm9vIGludCk7Iik7Ci0gICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0g
ICAgICAgICAgICBsb2coIkNhbm5vdCBjcmVhdGUgdGhlIFRlc3QgdGFibGU6ICIgKyBlcnJvci5t
ZXNzYWdlKTsKLSAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgfSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICBydW5SZWFkQW5kV3JpdGVUcmFuc2FjdGlvbnMoZGIxLCBkYjIs
IGRiMyk7Ci0gICAgICAgIH0pOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9y
ZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU4ZDJkZmU2YWJiMWEz
MTQ1N2ViNTE3OWVkZjRjZjAwMDgxZjY4NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25zLXJ1
bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAs
MCBAQAotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdHdvIHJlYWQtb25seSB0cmFuc2FjdGlvbnMgb24g
ZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcnVuIGNvbmN1cnJlbnRseS4K
LVJlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29u
Y3VycmVudGx5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIyZDg2MmMxZTZj
ZTgyNGY0MDg4NTg1ODRiOTU4NzE5Yjk1Y2MwYmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9u
cy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewot
ICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1
bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQot
ZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZSgi
UmVhZFRyYW5zYWN0aW9uc1J1bm5pbmdDb25jdXJyZW50bHlUZXN0IiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAgICAgICAgICAgIlRlc3QgdG8gbWFrZSBz
dXJlIHRoYXQgbXVsdGlwbGUgcmVhZCB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IERCIGhhbmRs
ZXMgdG8gdGhlIHNhbWUgREIgcnVuIGNvbmN1cnJlbnRseS4iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgMzI3NjgpOwotfQotCi12YXIgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwot
Ci1mdW5jdGlvbiBydW5SZWFkVHJhbnNhY3Rpb24oZGIpCi17Ci0gICAgZGIucmVhZFRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICByZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVz
cysrOwotICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJSZWFk
IHRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgdGVy
bWluYXRlVGVzdCgpOwotICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmIChy
ZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAyKQotICAgICAgICAgICAgICAgIGxvZygiUmVh
ZCB0cmFuc2FjdGlvbnMgcnVubmluZyBjb25jdXJyZW50bHkuIik7Ci0gICAgICAgICAgICByZWFk
VHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwotICAgICAgICAgICAgaWYgKHJlYWRUcmFuc2FjdGlv
bnNJblByb2dyZXNzID09IDApCi0gICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAg
ICAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAg
IH0KLQotICAgIHRyeSB7Ci0gICAgICAgIHZhciBkYjEgPSBvcGVuVGVzdERhdGFiYXNlKCk7Ci0g
ICAgICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7Ci0gICAgICAgIGRiMS50cmFuc2Fj
dGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBpbnQpOyIpOwotICAgICAgICAgICAgfSwg
ZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBsb2coIkNhbm5vdCBjcmVhdGUgdGhl
IFRlc3QgdGFibGU6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7Ci0gICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBy
dW5SZWFkVHJhbnNhY3Rpb24oZGIxKTsKLSAgICAgICAgICAgICAgICBydW5SZWFkVHJhbnNhY3Rp
b24oZGIyKTsKLSAgICAgICAgICAgIH0pOwotICAgICB9IGNhdGNoKGVycikgeyBsb2coZXJyKTsg
fQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgotVGhp
cyB0ZXN0IHRlc3RzIHRoYXQgdHdvIHJlYWQtb25seSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50
IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcnVuIGNvbmN1cnJlbnRseS48YnI+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9k
YXRhYmFzZS1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFz
ZS1jb21tb24uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxZWI0MTAyZTUxOGNk
OTk2NWUzY2EwZTQwMTJiMmE1MWQ1MWZlNzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNvdXJjZXMvZGF0YWJhc2Ut
Y29tbW9uLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotdmFyIERCX1RFU1RfU1VG
RklYID0gIl9kb20iOwotCi1mdW5jdGlvbiBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KG5hbWUsIHZl
cnNpb24sIGRlc2NyaXB0aW9uLCBzaXplLCBjYWxsYmFjaykKLXsKLSAgICBpZiAoYXJndW1lbnRz
Lmxlbmd0aCA+IDQpIHsKLSAgICAgICAgcmV0dXJuIG9wZW5EYXRhYmFzZShuYW1lICsgREJfVEVT
VF9TVUZGSVgsIHZlcnNpb24sIGRlc2NyaXB0aW9uLCBzaXplLCBjYWxsYmFjayk7Ci0gICAgfSBl
bHNlIHsKLSAgICAgICAgcmV0dXJuIG9wZW5EYXRhYmFzZShuYW1lICsgREJfVEVTVF9TVUZGSVgs
IHZlcnNpb24sIGRlc2NyaXB0aW9uLCBzaXplKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGxvZyht
ZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJU
ZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQotCi1mdW5jdGlvbiBzZXRMb2NhdGlvbkhhc2goaGFz
aCkgewotICAgIGxvY2F0aW9uLmhhc2ggPSBoYXNoOwotfQotCi1mdW5jdGlvbiBzZXR1cEFuZFJ1
blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ID0gIiI7Ci0gICAgcnVuVGVzdCgpOwotfQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRl
ci1yZWxvYWQtMi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNvdXJjZXMvZGF0YWJhc2Ut
bG9jay1hZnRlci1yZWxvYWQtMi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2
ZTBmMDljZWE3MWE1YjNkNTYwYjZkMjg3MzQ3ZTFkMDNmOGJhODA5Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3Vy
Y2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDU1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAg
bG9nKCJUZXN0IHBhcnQgMiBDb21wbGV0ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0K
LQotZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKLXsKLSAgICBsb2coIlRlc3QgZmFpbGVk
IC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlzaFRlc3QoKTsKLX0KLQotZnVuY3Rpb24g
YWRkRGF0YShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAg
ICBsb2coIkluc2VydGluZyBzb21lIGRhdGEiKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gRGF0YVRlc3QgKHRlc3REYXRhKSBWQUxVRVMgKD8pIiwgWyJBIl0sCi0gICAgICAg
ICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJv
ckZ1bmN0aW9uKGVycm9yKTsgfSk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7IH0sIGZ1bmN0aW9uKCkg
eyBmaW5pc2hUZXN0KCk7IH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOwotICAgIH0KLQotICAgIHRyeSB7Ci0gICAgICAgIHZhciBkYXRhYmFzZSA9IG9wZW5E
YXRhYmFzZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9j
a2luZyIsIDUyNDI4ODApOwotICAgICAgICBhZGREYXRhKGRhdGFiYXNlKTsKLSAgICB9IGNhdGNo
KGUpIHsKLSAgICAgICAgbG9nKCJFcnJvciAtIGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7Ci0g
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9i
b2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNl
cy9zdHJlc3MtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL3N0cmVz
cy1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTlhZjNjNzk2MWY0
MjdhODdhNmVmN2ZhYWYwZDE0YjI4OWJjNzIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL3N0cmVzcy1m
cmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLXZhciBkYjsKLQotdHJ5IHsKLSAgICBpZiAod2lu
ZG93Lm9wZW5EYXRhYmFzZSkgewotICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZSgiU3RyZXNzVGVz
dDIiLCAiMS4wIiwgIkRhdGFiYXNlIHN0cmVzcyB0ZXN0IiwgMjAwMDAwKTsKLSAgICAgICAgaWYg
KCFkYikKLSAgICAgICAgICAgIGFsZXJ0KCJGYWlsZWQgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugb24g
ZGlzay4gIFRoaXMgaXMgcHJvYmFibHkgYmVjYXVzZSB0aGUgdmVyc2lvbiB3YXMgYmFkIG9yIHRo
ZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2UgbGVmdCBpbiB0aGlzIGRvbWFpbidzIHF1b3RhIik7Ci0g
ICAgfSBlbHNlCi0gICAgICAgIGFsZXJ0KCJDb3VsZG4ndCBvcGVuIHRoZSBkYXRhYmFzZS4gIFBs
ZWFzZSB0cnkgd2l0aCBhIFdlYktpdCBuaWdodGx5IHdpdGggdGhpcyBmZWF0dXJlIGVuYWJsZWQi
KTsKLX0gY2F0Y2goZXJyKSB7IH0KLQotZnVuY3Rpb24gbG9hZGVkKCkKLXsKLSAgICBkYi50cmFu
c2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgQ09V
TlQoKikgRlJPTSBXZWJraXRTdGlja3lOb3RlcyIsIFtdLCBmdW5jdGlvbihyZXN1bHQpIHsKLSAg
ICAgICAgICAgIGxvYWROb3RlcygpOwotICAgICAgICB9LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsK
LSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBXZWJLaXRTdGlja3lOb3Rl
cyAoaWQgUkVBTCBVTklRVUUsIG5vdGUgVEVYVCkiLCBbXSwgZnVuY3Rpb24ocmVzdWx0KSB7IAot
ICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFdlYktpdFN0aWNreU5v
dGVzIChpZCwgbm90ZSkgVkFMVUVTICg/LCA/KSIsIFsxLCAnVGV4dCddLCBmdW5jdGlvbihyZXN1
bHQpIHsgCi0gICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFdl
YktpdFN0aWNreU5vdGVzIChpZCwgbm90ZSkgVkFMVUVTICg/LCA/KSIsIFsyLCAnTW9yZSBUZXh0
J10sIGZ1bmN0aW9uKHJlc3VsdCkgeyAKLSAgICAgICAgICAgICAgICAgICAgICAgIGxvYWROb3Rl
cygpOyAKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAg
ICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIGxvYWROb3Rl
cygpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiU0VMRUNUIGlkLCBub3RlIEZST00gV2ViS2l0U3RpY2t5Tm90ZXMiLCBbXSwgZnVu
Y3Rpb24odHgsIHJlc3VsdCkgewotICAgICAgICAgICAgbG9hZE5vdGVzKCk7Ci0gICAgICAgIH0s
IGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgYWxlcnQoJ0ZhaWxlZCB0byByZXRy
aWV2ZSBub3RlcyBmcm9tIGRhdGFiYXNlIC0gJyArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQotYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIGxvYWRlZCwgZmFsc2UpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRo
aXMgdGVzdCBuZWVkcyB0byBydW4gd2l0aG91dCBjcmFzaGVzIGFuZCBhc3NlcnRpb24gZmFpbHVy
ZXMgZm9yIGEgd2hpbGUuPHA+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmNjBjYWY1MjNiODcyOGUwYzU2NGQ2ZGE1OWFkYzZkMjg2ZmU1MmI1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCww
IEBACi1QQVNTOiBwcm9wZXJ0eSAndGltZXN0YW1wJyBvaywgdHlwZSB3YXMgbnVtYmVyCi1QQVNT
OiBwcm9wZXJ0eSAnaWQnIG9rLCB0eXBlIHdhcyBudW1iZXIKLVBBU1M6IHByb3BlcnR5ICdyZWFs
JyBvaywgdHlwZSB3YXMgbnVtYmVyCi1QQVNTOiBwcm9wZXJ0eSAndGV4dCcgb2ssIHR5cGUgd2Fz
IHN0cmluZwotUEFTUzogcHJvcGVydHkgJ2Jsb2InIG9rLCB0eXBlIHdhcyBzdHJpbmcKLVBBU1M6
IGRhdGFiYXNlIGNsZWFuIHVwIG9rLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3NxbC1kYXRhLXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVz
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkMWM5OGY4NDRjMDczYjM5ZWIz
YTZkNTQ1ZmE0MDAzMzQ0ZGExYjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9InNxbC1kYXRhLXR5cGVzLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+PC9wcmU+
Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3Fs
LWRhdGEtdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmpzCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmZjZDAxM2I2NjdmYmI1MGUwMGIxNDA4MDcx
OWJkM2I0MTcxZGQyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMuanMKKysrIC9kZXYvbnVsbApA
QCAtMSw4NyArMCwwIEBACi0vL2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0
aGUgamF2YXNjcmlwdCB2YWx1ZXMgcmV0dXJuZWQgYnkgZGF0YWJhc2UgcXVlcmllcyBhcmUgb2Yg
c2FtZSB0eXBlIGFzIHRoZSB2YWx1ZXMgcHV0IGludG8gdGhlIGRhdGFiYXNlLiIpOwotCi1mdW5j
dGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQotCi1mdW5j
dGlvbiBub3RpZnlEb25lKHN0cikgewotICAgIHdyaXRlTWVzc2FnZVRvTG9nKHN0cik7Ci0gICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi12YXIgdGVzdFZhbHVlcyA9IHsKLSAgICB0aW1lc3Rh
bXA6IG5ldyBEYXRlKCJXZWQgRmViIDA2IDIwMDggMTI6MTY6NTIgR01UKzAyMDAgKEVFVCkiKS52
YWx1ZU9mKCksCi0gICAgaWQ6IDEwMDEsCi0gICAgcmVhbDogMTAxLjQ0NCwKLSAgICB0ZXh0OiAi
V2ViS2l0IGRiIFRFWFQiLAotICAgIGJsb2I6ICJzdXBlcmNhbGlmcmFnaWxpc3RpYyIKLX07Ci0K
LWZ1bmN0aW9uIHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShwcm9wTmFtZSwgdGVzdFZhbHVlLCBy
ZXN1bHQpIHsKLSAgICBpZiAodGVzdFZhbHVlID09IHJlc3VsdCAmJiB0eXBlb2YgdGVzdFZhbHVl
ID09IHR5cGVvZiByZXN1bHQpIHsKLSAgICAgICAgd3JpdGVNZXNzYWdlVG9Mb2coIlBBU1M6IHBy
b3BlcnR5ICciICsgcHJvcE5hbWUgKyAiJyBvaywgdHlwZSB3YXMgIiArIHR5cGVvZiByZXN1bHQp
OwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgd3JpdGVNZXNzYWdlVG9Mb2coIkZB
SUw6IHByb3BlcnR5ICciICsgcHJvcE5hbWUgKyAiJyBmYWlsZWQuIgotICAgICAgICArICIgZXhw
ZWN0ZWQ6ICIgKyB0eXBlb2YgdGVzdFZhbHVlICsgIjonIiArIHRlc3RWYWx1ZSArICInICIKLSAg
ICAgICAgKyAiIGdvdDogIiArIHR5cGVvZiByZXN1bHQgKyAiOiciICsgcmVzdWx0ICsiJyIpOwot
ICAgIHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gdGVzdERCVmFsdWVzKHR4LCByZXN1bHQp
IHsKLSAgICB2YXIgcnMgPSByZXN1bHQucm93cy5pdGVtKDApOwotICAgIC8vIEF2b2lkIGZvciAu
LiBpbiBiZWNhdXNlICh0aGVyZXRpY2FsbHkpIHRoZSBvcmRlciBjYW4gY2hhbmdlCi0gICAgaSA9
ICJ0aW1lc3RhbXAiOyBzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwg
cnNbaV0pOwotICAgIGkgPSAiaWQiOyBzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZh
bHVlc1tpXSwgcnNbaV0pOwotICAgIGkgPSAicmVhbCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1
ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7Ci0gICAgaSA9ICJ0ZXh0Ijsgc2hvdWxkQmVTYW1l
VHlwZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gImJsb2IiOyBz
aG91bGRCZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOwotICAgIAot
ICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgVEFCTEUgRGF0YVR5cGVUZXN0VGFibGUiLCBbXSwKLSAg
ICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgewotICAgICAgICAgICAgbm90aWZ5RG9uZSgiUEFT
UzogZGF0YWJhc2UgY2xlYW4gdXAgb2suIik7Ci0gICAgICAgIH0sCi0gICAgICAgIGZ1bmN0aW9u
KHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IERhdGFiYXNlIGNs
ZWFuIHVwIGZhaWxlZC4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIGZldGNoREJWYWx1
ZXNTdG10KHR4LCByZXN1bHQpIHsKLSAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBGUk9NIERh
dGFUeXBlVGVzdFRhYmxlIiwgW10sCi0gICAgICAgIHRlc3REQlZhbHVlcywKLSAgICAgICAgZnVu
Y3Rpb24odHgsZXJyb3IpIHsKLSAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGZl
dGNoaW5nIHZhbHVlcyBmcm9tIHRoZSBkYi4iKQotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24g
aW5zZXJ0VGVzdFZhbHVlc1N0bXQodHgsIHJlc3VsdCkgewotICAgIHR4LmV4ZWN1dGVTcWwoIklO
U0VSVCBJTlRPIERhdGFUeXBlVGVzdFRhYmxlIChpZCwgcmVhbCwgdGltZXN0YW1wLCB0ZXh0LCBi
bG9iKSBWQUxVRVMgKD8sPyw/LD8sPykiLAotICAgICAgICBbdGVzdFZhbHVlcy5pZCwgdGVzdFZh
bHVlcy5yZWFsLCB0ZXN0VmFsdWVzLnRpbWVzdGFtcCwgdGVzdFZhbHVlcy50ZXh0LCB0ZXN0VmFs
dWVzLmJsb2JdLAotICAgICAgICBmZXRjaERCVmFsdWVzU3RtdCwKLSAgICAgICAgZnVuY3Rpb24o
dHgsIGVycm9yKSB7Ci0gICAgICAgICAgICBub3RpZnlEb25lKCJGQUlMOiBFcnJvciBpbnNlcnRp
bmcgdmFsdWVzIHRvIHRoZSBkYi4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0
ZVRlc3REQlN0bXQodHgpCi17Ci0gICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5P
VCBFWElTVFMgRGF0YVR5cGVUZXN0VGFibGUgKGlkIElOVEVHRVIgVU5JUVVFLCByZWFsIFJFQUws
IHRpbWVzdGFtcCBJTlRFR0VSLCB0ZXh0IFRFWFQsIGJsb2IgQkxPQikiLCBbXSwKLSAgICAgICAg
aW5zZXJ0VGVzdFZhbHVlc1N0bXQsCi0gICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAg
ICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3IgY3JlYXRpbmcgdGhlIGRiLiIpOwotICAg
ICAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAg
IH0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkRhdGFUeXBlVGVzdCIsICIxLjAiLCAiRGF0
YWJhc2UgZm9yIHNxbCBkYXRhIHR5cGUgdGVzdCIsIDEpOwotICAgIGlmIChkYikKLSAgICAgICAg
ZGIudHJhbnNhY3Rpb24oY3JlYXRlVGVzdERCU3RtdCk7Ci0gICAgZWxzZQotICAgICAgICBub3Rp
ZnlEb25lKCJGQUlMOiBFcnJvciBvcGVuaW5nIHRoZSBkYiIpOwotfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlMTk3NzZhNWZmNzFjYWI1NzI2MWE3YWE0NGYzMGE5ODE1N2I0YzJmLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDExICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXhjZXB0aW9uIHRocm93biBpbiB0cmFuc2Fj
dGlvbiBjYWxsYmFjay4KLUNPTlNPTEUgTUVTU0FHRTogQ2Fubm90IGNhbGwgdG9TdHJpbmcoKSBv
biB0aGlzIG9iamVjdC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGUgZXJyb3IgY29kZXMgcmVwb3J0ZWQg
aW4gZXhjZXB0aW9uYWwgc2l0dWF0aW9ucy4KLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3Ig
Y29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05P
V05fRVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VSUgotUEFT
UzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZTlRBWF9FUlIKLVBBU1M6IGV4cGVjdGVk
IGFuZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBl
cnJvciBjb2RlIFFVT1RBX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFZF
UlNJT05fRVJSCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNv
ZGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzcwYzZjYWZlODg5YzdlOGJhNGVmMDhmNTkzODdl
MGQzZTE1YjFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwxMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9k
YXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InNxbC1lcnJvci1jb2Rl
cy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgp
OyI+Ci1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlv
bmFsIHNpdHVhdGlvbnMuPGJyPgotPHByZSBpZD0iY29uc29sZSI+Ci1GQUlMVVJFOiB0ZXN0IGRp
ZG4ndCBydW4uCi08L3ByZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwt
ZXJyb3ItY29kZXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkMmM5N2M4MWZh
ODViYzM2ZDQ2ZGY4NWZiN2JkMTI2YTNhNTg2ZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQgKzAsMCBAQAotZnVuY3Rpb24gZmluaXNoVGVzdCgp
Ci17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi12YXIgVE9UQUxfVEVTVFMgPSA3Owot
dmFyIHRlc3RzUnVuID0gMDsKLWZ1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayhlcnJv
ciwgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKQotewotICAgIGlmIChlcnJvci5jb2RlID09IGVycm9y
W2V4cGVjdGVkRXJyb3JDb2RlTmFtZV0pIHsKLSAgICAgICAgbG9nKCJQQVNTOiBleHBlY3RlZCBh
bmQgZ290IGVycm9yIGNvZGUgIiArIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSk7Ci0gICAgICAgIGlm
ICgrK3Rlc3RzUnVuID09IFRPVEFMX1RFU1RTKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGxvZygiRkFJTDogZXhwZWN0ZWQgZXJyb3IgY29kZSAiICsg
ZXhwZWN0ZWRFcnJvckNvZGVOYW1lICsgIiAoIiArIGVycm9yW2V4cGVjdGVkRXJyb3JDb2RlTmFt
ZV0gKyAiKTsgZ290ICIgKyBlcnJvci5jb2RlKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwotICAg
IH0KLX0KLQotZnVuY3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2soKQotewotICAgIGxv
ZygiRkFJTDogYSB0cmFuc2FjdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4iKTsKLSAg
ICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RUcmFuc2FjdGlvbihkYiwgdHJhbnNh
Y3Rpb25DYWxsYmFjaywgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKQotewotICAgIGRiLnRyYW5zYWN0
aW9uKHRyYW5zYWN0aW9uQ2FsbGJhY2ssCi0gICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZXJy
b3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKGVy
cm9yLCBleHBlY3RlZEVycm9yQ29kZU5hbWUpOwotICAgICAgICAgICAgICAgICAgIH0sIHRyYW5z
YWN0aW9uU3VjY2Vzc0NhbGxiYWNrKTsKLX0KLQotZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uVGhy
b3dzRXhjZXB0aW9uKGRiKQotewotICAgIHRlc3RUcmFuc2FjdGlvbihkYiwgZnVuY3Rpb24odHgp
IHsgdGhyb3cgIkV4Y2VwdGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suIjsgfSwg
IlVOS05PV05fRVJSIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNh
dXNlT2ZTdGF0ZW1lbnRGYWlsdXJlKGRiKQotewotICAgIHRlc3RUcmFuc2FjdGlvbihkYiwKLSAg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIkJBRCBTVEFURU1FTlQiLCBbXSwgbnVsbCwgZnVuY3Rpb24odHgsIGVy
cm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlVOS05PV05f
RVJSIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RJbnZhbGlkU3RhdGVtZW50KGRiKQotewotICAgIHRl
c3RUcmFuc2FjdGlvbihkYiwgZnVuY3Rpb24odHgpIHsgdHguZXhlY3V0ZVNxbCgiQkFEIFNUQVRF
TUVOVCIpOyB9LCAiU1lOVEFYX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0SW5jb3JyZWN0TnVt
YmVyT2ZCaW5kUGFyYW1ldGVycyhkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCi0gICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBCYWRCaW5kTnVtYmVyVGVz
dCAoRm9vIElOVCwgQmFyIElOVCkiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIklOU0VSVCBJTlRPIEJhZEJpbmROdW1iZXJUZXN0IFZBTFVFUyAoPywgPykiLCBbMV0p
OwotICAgICAgICAgICAgICAgICAgICB9LCAiU1lOVEFYX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0
ZXN0QmluZFBhcmFtZXRlck9mV3JvbmdUeXBlKGRiKQotewotICAgIHZhciBiYWRTdHJpbmcgPSB7
IH07Ci0gICAgYmFkU3RyaW5nLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHRocm93ICJDYW5ub3Qg
Y2FsbCB0b1N0cmluZygpIG9uIHRoaXMgb2JqZWN0LiIgfTsKLQotICAgIHRlc3RUcmFuc2FjdGlv
bihkYiwgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxF
IElGIE5PVCBFWElTVFMgQmFkQmluZFR5cGVUZXN0IChGb28gVEVYVCkiKTsKLSAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gQmFkQmluZFR5cGVUZXN0IFZBTFVFUyAoPykiLCBbYmFk
U3RyaW5nXSk7Ci0gICAgfSwgIlVOS05PV05fRVJSIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RRdW90
YUV4Y2VlZGVkKGRiKQotewotICAgIHRlc3RUcmFuc2FjdGlvbihkYiwKLSAgICAgICAgICAgICAg
ICAgICAgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFF1b3RhVGVzdCAoRm9vIEJMT0IpIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBRdW90YVRl
c3QgVkFMVUVTIChaRVJPQkxPQigxMCAqIDEwMjQgKiAxMDI0KSkiKTsKLSAgICAgICAgICAgICAg
ICAgICAgfSwgIlFVT1RBX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0VmVyc2lvbk1pc21hdGNo
KGRiKQotewotICAgIC8vIFVzZSBhbm90aGVyIERCIGhhbmRsZSB0byBjaGFuZ2UgdGhlIHZlcnNp
b24uIEhvd2V2ZXIsIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBEQiB2ZXJzaW9uIGlz
IG5vdAotICAgIC8vIGNoYW5nZWQgYmVmb3JlIHRoZSB0cmFuc2FjdGlvbnMgaW4gdGhlIG90aGVy
IHRlc3RzIGhhdmUgcnVuLCB3ZSBuZWVkIHRvIGRvIGl0IGluIGEgdHJhbnNhY3Rpb24gb24gJ2Ri
Jy4KLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB2YXIgZGIyID0g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiU1FMRXJyb3JDb2Rlc1Rlc3QiLCAiMS4wIiwgIlRlc3Rz
IHRoZSBlcnJvciBjb2Rlcy4iLCAxKTsKLSAgICAgICAgZGIyLmNoYW5nZVZlcnNpb24oIjEuMCIs
ICIyLjAiLCBmdW5jdGlvbih0eCkgeyB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbihlcnJvcikgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBj
b3VsZCBub3QgY2hhbmdlIHRoZSBEQiB2ZXJzaW9uLiIpOwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBmdW5j
dGlvbigpIHsgfSk7Ci0gICAgICAgIH0pOwotCi0gICAgdGVzdFRyYW5zYWN0aW9uKGRiLAotICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgICAgICAgICAgICAg
dHguZXhlY3V0ZVNxbCgiVEhJUyBTVEFURU1FTlQgU0hPVUxEIE5FVkVSIEdFVCBFWEVDVVRFRCIp
OwotICAgICAgICAgICAgICAgICAgICB9LCAiVkVSU0lPTl9FUlIiKTsKLX0KLQotZnVuY3Rpb24g
cnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLQotICAgIHZhciBk
YiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlNRTEVycm9yQ29kZXNUZXN0IiwgIjEuMCIsICJU
ZXN0cyB0aGUgZXJyb3IgY29kZXMuIiwgMSk7Ci0gICAgdGVzdFRyYW5zYWN0aW9uVGhyb3dzRXhj
ZXB0aW9uKGRiKTsKLSAgICB0ZXN0VHJhbnNhY3Rpb25GYWlsdXJlQmVjYXVzZU9mU3RhdGVtZW50
RmFpbHVyZShkYik7Ci0gICAgdGVzdEludmFsaWRTdGF0ZW1lbnQoZGIpOwotICAgIHRlc3RJbmNv
cnJlY3ROdW1iZXJPZkJpbmRQYXJhbWV0ZXJzKGRiKTsKLSAgICB0ZXN0QmluZFBhcmFtZXRlck9m
V3JvbmdUeXBlKGRiKTsKLSAgICB0ZXN0UXVvdGFFeGNlZWRlZChkYik7Ci0gICAgdGVzdFZlcnNp
b25NaXNtYXRjaChkYik7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRl
bWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0
YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDM0MDNkOWYwYzk2Nzg3MTU5MGMxNTE0MDcwZTYwODA2N2U1MDEyMTMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBFeGNlcHRpb24gaW4gc3RhdGVtZW50
IGVycm9yIGNhbGxiYWNrCi1UaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlz
IGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50J3MgZXJy
b3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgcmV0dXJucyB0cnVlLCBvciBkb2Vzbid0
IHJldHVybiBhbnkgdmFsdWUuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNr
IHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMg
aW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgot
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1Mg
LSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhl
IHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5z
YWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0
aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjM3Njg5NjM4YmQyYjhiZTViODZiYjMzZTA1NmZmMDg1NTdhZDY4NC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFMRVJUOiB1bmRlZmluZWQKLUFM
RVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRl
ZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHN0YXRlbWVudCBlcnJv
ciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk2ZTQyYjAy
OGVhYjJhYTJiMmRkM2JmZjYxNmY3NDE5NjA0NTEwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAs
MCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0IHRlc3RzIHRo
YXQgdGhlIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdv
cmxkLgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHN0YXRlbWVudEVy
cm9yQ2FsbGJhY2tzSW52b2tlZCA9IDA7Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsr
c3RhdGVtZW50RXJyb3JDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sxKHR4LCBlcnJvcikKLXsKLSAg
ICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7
Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2syKHR4LCBlcnJvcikKLXsKLSAg
ICBhbGVydChkb2N1bWVudC5ib2R5LmJhcik7Ci0gICAgZG9uZSgpOwotfQotCi1kb2N1bWVudC5i
b2R5LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdv
cmxkLiI7Ci1kb2N1bWVudC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNp
YmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7Ci0KLWlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFs
bERhdGFiYXNlcygpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCi0gICAgICAgIDAsCi0gICAg
ICAgICJmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSh0eCwgZXJyb3IpXG4iICsKLSAg
ICAgICAgIntcbiIgKwotICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIg
KwotICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiAr
Ci0gICAgICAgICJ9XG4iICsKLSAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1N0YXRl
bWVudEVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAg
ICAgICAgImRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkge1xuIiArCi0gICAgICAgICIgICAg
dHguZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30s
IHN0YXRlbWVudEVycm9yQ2FsbGJhY2sxKTtcbiIgKwotICAgICAgICAifSk7Iik7Ci0KLSAgICB2
YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRFcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3Js
ZDInLCAnMS4wJywgJycsIDEpOwotICAgIGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewot
ICAgICAgICB0eC5leGVjdXRlU3FsKCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBk
YXRhKSB7fSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjazIpOwotICAgIH0pOwotfQotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRl
bWVudC1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQt
ZXJyb3ItY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRiODM2
ZDE2MThiOTkzMjQ1Njg1MWFjOWY4ZTA3YTc2Y2MxNWZhZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1l
cnJvci1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJy
PiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygiVGVzdCBDb21wbGV0
ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHR4Q2FsbGJhY2tDb3VudCA9
IDA7Ci12YXIgTlVNQkVSX09GX1RSQU5TQUNUSU9OUyA9IDEwOwotdmFyIGRhdGFiYXNlOwotCi1m
dW5jdGlvbiBydW5UcmFuc2FjdGlvbihleHBlY3RlZFRvRmFpbCwgc3RhdGVtZW50RXJyb3JDYWxs
YmFjaykKLXsKLSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAg
ICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0VGFibGUgKFJh
bmRvbURhdGEgVEVYVCkiKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVz
dFRhYmxlIFZBTFVFUyAoPykiLCBbJ3Rlc3QnXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIlRI
SVMgU1RBVEVNRU5UIFdJTEwgRkFJTCIsIFtdLAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIGRh
dGEpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUwgLSB0aGlzIHN0YXRlbWVudCBzaG91bGQg
aGF2ZSBmYWlsZWQiKTsKLSAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgICAg
ICB9LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gVGVzdFRhYmxlIFZBTFVFUyAoPykiLCBbJ3Rlc3QxJ10sCi0gICAgICAgICAgICBm
dW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZFRvRmFpbCkKLSAg
ICAgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBo
YXZlIGJlZW4gZXhlY3V0ZWQiKTsKLSAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgIGlmIChleHBlY3RlZFRvRmFpbCkKLSAgICAgICAgICAgICAgICAgICAgbG9nKCJG
QUlMIC0gVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBoYXZlIGJlZW4gZXhlY3V0ZWQiKTsKLSAg
ICAgICAgICAgIH0pOwotICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgIGlmIChleHBl
Y3RlZFRvRmFpbCkKLSAgICAgICAgICAgIGxvZygiUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJv
ciBjYWxsYmFjayB3YXMgaW52b2tlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9n
KCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHNob3VsZCBub3QgaGF2ZSBi
ZWVuIGludm9rZWQuIik7Ci0gICAgICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJf
T0ZfVFJBTlNBQ1RJT05TKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0sIGZ1bmN0
aW9uKCkgewotICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICBsb2coIkZB
SUwgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayBzaG91bGQgbm90IGhhdmUgYmVl
biBpbnZva2VkLiIpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUg
dHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4iKTsKLSAgICAgICAgaWYg
KCsrdHhDYWxsYmFja0NvdW50ID09IE5VTUJFUl9PRl9UUkFOU0FDVElPTlMpCi0gICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Ci0gICAgfQotCi0gICAgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIlN0YXRlbWVudEVy
cm9yQ2FsbGJhY2tUZXN0IiwgIjEuMCIsICJzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgdGVzdCIs
IDEwMjQpOwotCi0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0
dXJuIHRydWU7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9uKGVycm9yKSB7
IHRocm93ICJFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrIjsgcmV0dXJuIGZh
bHNlOyB9KTsKLSAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1
cm4gInNvbWUgc3RyaW5nIjsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24o
ZXJyb3IpIHsgcmV0dXJuIDEyMzQ7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0
aW9uKGVycm9yKSB7IHJldHVybiB7YTogMiwgYjogImFiYyJ9OyB9KTsKLSAgICBydW5UcmFuc2Fj
dGlvbih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gImZhbHNlIjsgfSk7Ci0gICAgcnVu
VHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7fSk7Ci0gICAgcnVuVHJhbnNhY3Rp
b24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiBmYWxzZTsgfSk7Ci0gICAgcnVuVHJh
bnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiAwOyB9KTsKLSAgICBydW5U
cmFuc2FjdGlvbihmYWxzZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuIG51bGw7IH0pOwotfQot
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhpcyB0
ZXN0IGNvbmZpcm1zIHRoYXQgYSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFj
ayBpZiBhbmQgb25seSBpZiBhIHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBl
eGNlcHRpb24sIHJldHVybnMgdHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotPHBy
ZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1zdWNjZXNz
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMmVmMDI3ZGZiZDFhMDQzNDYzZjIxNzY5YjczNzE5YTg4ZTViZjZkMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotQUxFUlQ6IHVuZGVmaW5lZAotQUxF
UlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVk
IGluIHRoaXMgd29ybGQuCi1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nl
c3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZmFj
NzU0YjNjM2MyMGE4MmJhYzk4ZDI3YTg2NGUxNDc1ZmMxMTNiLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50
LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMgdGVzdCB0
ZXN0cyB0aGF0IHRoZSBzdGF0ZW1lbnQgc3VjY2VzcyBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhl
IHJpZ2h0IHdvcmxkLgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHN0
YXRlbWVudFN1Y2Nlc3NDYWxsYmFja3NJbnZva2VkID0gMDsKLWZ1bmN0aW9uIGRvbmUoKQotewot
ICAgIGlmICgoKytzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKHR4
LCBkYXRhKQotewotICAgIGFsZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIp
OwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrMih0
eCwgZGF0YSkKLXsKLSAgICBhbGVydChkb2N1bWVudC5ib2R5LmJhcik7Ci0gICAgZG9uZSgpOwot
fQotCi1kb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxl
IGluIGlzb2xhdGVkIHdvcmxkLiI7Ci1kb2N1bWVudC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVu
dC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7
Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCi0g
ICAgICAgIDAsCi0gICAgICAgICJmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKHR4
LCBkYXRhKVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVu
dC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3Jp
cHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3Bl
bkRhdGFiYXNlKCdTdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAn
LCAnJywgMSk7XG4iICsKLSAgICAgICAgImRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkge1xu
IiArCi0gICAgICAgICIgICAgdHguZXhlY3V0ZVNxbCgnQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElT
VFMgVGVzdCAoRm9vIElOVCknLCBbXSwgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrMSk7XG4iICsK
LSAgICAgICAgIn0pOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50
U3VjY2Vzc0NhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOwotICAgIGRiMi50
cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRlU3FsKCdDUkVBVEUg
VEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKScsIFtdLCBzdGF0ZW1lbnRTdWNjZXNz
Q2FsbGJhY2syKTsKLSAgICB9KTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFjay1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2MTkwMjQ0MTc4YzNlYTJkZDkzYTU2MjMwMmE4
MDZlYTg0ODk4NGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSBzdWNj
ZXNzZnVsIHRyYW5zYWN0aW9uIC0gYm90aCB3aXRoIGFuZCB3aXRob3V0IGEgc3RhdGVtZW50IC0g
cmVjZWl2ZXMgaXRzIHN1Y2Nlc3NDYWxsYmFjawotVHJhbnNhY3Rpb24gc3VjY2VlZGVkIC0gVHJh
bnNhY3Rpb24gd2l0aCBvbmUgc3RhdGVtZW50Ci1UcmFuc2FjdGlvbiBzdWNjZWVkZWQgLSBFbXB0
eSB0cmFuc2FjdGlvbgotVGVzdCBDb21wbGV0ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vz
cy1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjM3YWJhODJl
MzA5NzI0ODFhYWJiNzA1MGQ1YTIxNDZlMjVjM2ZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFj
ay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQ+Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1
bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygiVGVzdCBDb21wbGV0ZSIpOwotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKLXsK
LSAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlzaFRl
c3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NDb3VudCA9IDA7Ci0KLWZ1bmN0aW9uIHN1Y2Nlc3NGdW5j
dGlvbihtZXNzYWdlKQotewotICAgIGxvZygiVHJhbnNhY3Rpb24gc3VjY2VlZGVkIC0gIiArIG1l
c3NhZ2UpOwotICAgIGlmICgrK3N1Y2Nlc3NDb3VudCA9PSAyKQotICAgICAgICBmaW5pc2hUZXN0
KCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRh
YmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotICAgIAot
ICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiU3VjY2Vzc0NhbGxiYWNrRGF0YWJhc2Ui
LCAiMS4wIiwgIlRlc3QgZm9yIHN1Y2Nlc3MgY2FsbGJhY2sgPHJkYXI6Ly81NzM3NjkyPiIsIDEp
OwotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1dGVTcWwo
IkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFN1Y2Nlc3NDYWxsYmFja1Rlc3QgKHJhbmRvbURh
dGEpIiwgW10pOyB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgc3VjY2Vzc0Z1bmN0aW9u
KCJUcmFuc2FjdGlvbiB3aXRoIG9uZSBzdGF0ZW1lbnQiKTsgfSk7Ci0gICAgZGF0YWJhc2UudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rpb24oKSB7IHN1
Y2Nlc3NGdW5jdGlvbigiRW1wdHkgdHJhbnNhY3Rpb24iKTsgfSk7Ci19Ci0KLTwvc2NyaXB0Pgot
PC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UaGlzIHRlc3QgY29uZmlybXMg
dGhhdCBhIHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gLSBib3RoIHdpdGggYW5kIHdpdGhvdXQgYSBz
dGF0ZW1lbnQgLSByZWNlaXZlcyBpdHMgc3VjY2Vzc0NhbGxiYWNrCi08cHJlIGlkPSJjb25zb2xl
Ij4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3Rlc3QtYXV0aG9yaXplci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3Rlc3QtYXV0aG9yaXplci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGJiZmFmZDQ5YmRjNmIzY2Q1ZmI3YjM4ODQyYTIxZDliYzQwZjYzYzAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90
ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBA
QAotVGhpcyB0ZXN0IHRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLgotU1FMSVRFX0NSRUFU
RV9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1l
bnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVk
ZWQuCi1TUUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FM
SVRFX0NSRUFURV9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVf
VFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVu
dCBzdWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX1JFQUQg
c3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9TRUxFQ1Qgc3RhdGVtZW50IHN1Y2NlZWRlZC4K
LVNRTElURV9ERUxFVEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9JTlNFUlQgc3RhdGVt
ZW50IHN1Y2NlZWRlZC4KLVNRTElURV9VUERBVEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElU
RV9QUkFHTUEgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgy
MyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgotU1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfVFJBTlNB
Q1RJT04gc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKLVNRTElURV9BVFRBQ0ggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9ERVRBQ0ggc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKLVNRTElURV9SRUlOREVYIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfQU5BTFla
RSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQotU1FMSVRFX0RST1BfSU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElU
RV9EUk9QX1RFTVBfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9EUk9QX1RFTVBf
VFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVEVNUF9WSUVXIHN0YXRl
bWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfRFJPUF9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQu
Ci1TUUxJVEVfRFJPUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfRFJPUF9UQUJM
RSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotV3JpdGUgdHJhbnNhY3Rpb24gc3VjY2VlZGVkLgotU1FM
SVRFX0NSRUFURV9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0
ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQ1JFQVRFX1RBQkxFIHN0YXRlbWVudCBz
dWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX0lOREVYIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5v
dCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQ1JFQVRFX1RF
TVBfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgx
IG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50IGZh
aWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotU1FM
SVRFX0NSRUFURV9URU1QX1ZJRVcgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUg
c3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVFJJR0dFUiBzdGF0
ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6
ZWQpCi1TUUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBh
cmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVlRBQkxFIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhv
cml6ZWQpCi1TUUxJVEVfQ1JFQVRFX0lOREVYIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVf
Q1JFQVRFX1RFTVBfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVN
UF9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1RFTVBfVklFVyBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9D
UkVBVEVfVlRBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfUkVBRCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgot
U1FMSVRFX1NFTEVDVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RFTEVURSBzdGF0ZW1l
bnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVk
KQotU1FMSVRFX0lOU0VSVCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0
ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX1VQREFURSBzdGF0ZW1lbnQgZmFpbGVk
OiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRF
X1BSQUdNQSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIz
IG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQUxU
RVJfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgx
IG5vIHN1Y2ggdGFibGU6IFRlc3RUYWJsZSkKLVNRTElURV9UUkFOU0FDVElPTiBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQot
U1FMSVRFX0FUVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RFVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBj
b3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX1JF
SU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKLVNRTElURV9BTkFMWVpFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5v
dCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9JTkRF
WCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQotU1FMSVRFX0RST1BfVEVNUF9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RST1Bf
VEVNUF9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9URU1QX1ZJRVcgc3RhdGVtZW50IGZh
aWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNR
TElURV9EUk9QX1RSSUdHRVIgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX1ZJRVcgc3RhdGVtZW50IGZh
aWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNR
TElURV9EUk9QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1SZWFkIHRyYW5zYWN0aW9ucyBzdWNjZWVkZWQuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXplci5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4YmFmMTBhYTQ3NTAwYTRmM2NmMzEyNGM3NjcxNzMxNzllODk0MzRjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21t
b24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InRlc3QtYXV0aG9yaXplci5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIHRl
c3QgdGVzdHMgdGhlIGRhdGFiYXNlIGF1dGhvcml6ZXIuPGJyPgotPHByZSBpZD0iY29uc29sZSI+
Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXIuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDRhMDhjODlkZjU0YTNiNmM0YTg2M2MwMWRmODlmNDc1MWNjYzkxODkuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS90ZXN0LWF1dGhvcml6ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNTMgKzAsMCBAQAotZnVu
Y3Rpb24gdGVybWluYXRlVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1m
dW5jdGlvbiBsb2dBbmRUZXJtaW5hdGVUZXN0KG1lc3NhZ2UsIGVycm9yKQotewotICAgIGxvZyht
ZXNzYWdlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIHRlcm1pbmF0ZVRlc3QoKTsKLX0K
LQotZnVuY3Rpb24gY2xlYW51cChkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0
eCkgewotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJMRSBJRiBFWElTVFMgVGVz
dDsiKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgSU5ERVggSUYgRVhJU1RTIFRl
c3RJbmRleDsiKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgVklFVyBJRiBFWElT
VFMgVGVzdFZpZXc7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJEUk9QIFRSSUdHRVIg
SUYgRVhJU1RTIFRlc3RUcmlnZ2VyOyIpOwotICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeyBs
b2dBbmRUZXJtaW5hdGVUZXN0KCJDbGVhbnVwIGZhaWxlZCIsIGVycm9yKTsgfSk7Ci19Ci0KLWZ1
bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhzdGF0ZW1lbnRUeXBlKQotewotICAgIGxv
ZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2VlZGVkLiIpOwotfQotCi1mdW5jdGlv
biBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKHN0YXRlbWVudFR5cGUsIGVycm9yKQotewotICAgIGxv
ZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7
Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1mdW5jdGlvbiBleGVjdXRlU3RhdGVtZW50KHR4LCBz
dGF0ZW1lbnQsIG9wZXJhdGlvbikKLXsKLSAgICB0eC5leGVjdXRlU3FsKHN0YXRlbWVudCwgW10s
Ci0gICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0Nh
bGxiYWNrKG9wZXJhdGlvbik7IH0sCi0gICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJy
b3IpIHsgcmV0dXJuIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sob3BlcmF0aW9uLCBlcnJvcik7IH0p
OwotfQotCi1mdW5jdGlvbiBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KQotewotICAgIGV4ZWN1dGVT
dGF0ZW1lbnQodHgsICJDUkVBVEUgVEFCTEUgVGVzdCAoRm9vIGludCk7IiwgIlNRTElURV9DUkVB
VEVfVEFCTEUiKTsKLX0KLQotZnVuY3Rpb24gY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrKHR4KQot
ewotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgSU5ERVggVGVzdEluZGV4IE9OIFRl
c3QgKEZvbyk7IiwgIlNRTElURV9DUkVBVEVfSU5ERVgiKTsKLQotICAgIC8vIEV2ZW4gdGhvdWdo
IHRoZSBmb2xsb3dpbmcgcXVlcnkgc2hvdWxkIHRyaWdnZXIgYSBTUUxJVEVfQ1JFQVRFX1RFTVBf
SU5ERVggb3BlcmF0aW9uCi0gICAgLy8gKGFjY29yZGluZyB0byBodHRwOi8vd3d3LnNxbGl0ZS5v
cmcvdGVtcGZpbGVzLmh0bWwpLCBpdCBkb2Vzbid0LCBhbmQgSSdtIG5vdCBhd2FyZQotICAgIC8v
IG9mIGFueSBvdGhlciB3YXkgdG8gdHJpZ2dlciB0aGlzIG9wZXJhdGlvbi4gU28gd2UnbGwgc2tp
cCBpdCBmb3Igbm93LgotICAgIC8vZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCAqIEZST00g
VGVzdCBXSEVSRSBGb28gSU4gKDEsIDIsIDMpOyIsICJTUUxJVEVfQ1JFQVRFX1RFTVBfSU5ERVgi
KTsKLQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVNUCBUQUJMRSBUZXN0VGVt
cFRhYmxlIChGb28gaW50KTsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIik7Ci0gICAgZXhl
Y3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFRSSUdHRVIgVGVzdFRlbXBUcmlnZ2VyIElO
U0VSVCBPTiBUZXN0IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IEVORDsiLCAiU1FM
SVRFX0NSRUFURV9URU1QX1RSSUdHRVIiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JF
QVRFIFRFTVAgVklFVyBUZXN0VGVtcFZpZXcgQVMgU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsi
LCAiU1FMSVRFX0NSRUFURV9URU1QX1ZJRVciKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAi
Q1JFQVRFIFRSSUdHRVIgVGVzdFRyaWdnZXIgSU5TRVJUIE9OIFRlc3QgQkVHSU4gU0VMRUNUIENP
VU5UKCopIEZST00gVGVzdDsgRU5EOyIsICJTUUxJVEVfQ1JFQVRFX1RSSUdHRVIiKTsKLSAgICBl
eGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFZJRVcgVGVzdFZpZXcgQVMgU0VMRUNUIENPVU5U
KCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9WSUVXIik7Ci0gICAgZXhlY3V0ZVN0YXRl
bWVudCh0eCwgIkNSRUFURSBWSVJUVUFMIFRBQkxFIFRlc3RWaXJ0dWFsVGFibGUgVVNJTkcgTWlz
c2luZ01vZHVsZTsiLCAiU1FMSVRFX0NSRUFURV9WVEFCTEUiKTsKLX0KLQotZnVuY3Rpb24gb3Ro
ZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpCi17Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNF
TEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9SRUFEIik7Ci0gICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9TRUxFQ1Qi
KTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVMRVRFIEZST00gVGVzdDsiLCAiU1FMSVRF
X0RFTEVURSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJJTlNFUlQgSU5UTyBUZXN0IFZB
TFVFUyAoMSk7IiwgIlNRTElURV9JTlNFUlQiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAi
VVBEQVRFIFRlc3QgU0VUIEZvbyA9IDIgV0hFUkUgRm9vID0gMTsiLCAiU1FMSVRFX1VQREFURSIp
OwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJQUkFHTUEgY2FjaGVfc2l6ZTsiLCAiU1FMSVRF
X1BSQUdNQSIpOwotCi0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFMVEVSIFRBQkxFIFRlc3Qg
UkVOQU1FIFRPIFRlc3RUYWJsZTsiLCAiU1FMSVRFX0FMVEVSX1RBQkxFIik7Ci0gICAgLy8gUmVu
YW1lIHRoZSB0YWJsZSBiYWNrIHRvIGl0cyBvcmlnaW5hbCBuYW1lCi0gICAgZXhlY3V0ZVN0YXRl
bWVudCh0eCwgIkFMVEVSIFRBQkxFIFRlc3RUYWJsZSBSRU5BTUUgVG8gVGVzdDsiLCAiU1FMSVRF
X0FMVEVSX1RBQkxFIik7Ci0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQkVHSU4gVFJBTlNB
Q1RJT047IiwgIlNRTElURV9UUkFOU0FDVElPTiIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgs
ICJBVFRBQ0ggbWFpbiBBUyBUZXN0TWFpbjsiLCAiU1FMSVRFX0FUVEFDSCIpOwotICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHgsICJERVRBQ0ggVGVzdE1haW47IiwgIlNRTElURV9ERVRBQ0giKTsKLSAg
ICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUkVJTkRFWDsiLCAiU1FMSVRFX1JFSU5ERVgiKTsKLSAg
ICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQU5BTFlaRTsiLCAiU1FMSVRFX0FOQUxZWkUiKTsKLQot
ICAgIC8vIFNRTElURV9GVU5DVElPTjogYWxsb3dlZCB3cml0ZSBtb2RlCi0gICAgLy8gVGhlcmUg
aXMgbm8gU1FML0phdmFzY3JpcHQgQVBJIHRvIGFkZCB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIHRv
IFNRTGl0ZSwKLSAgICAvLyBzbyB3ZSBjYW5ub3QgdGVzdCB0aGlzIG9wZXJhdGlvbgotfQotCi1m
dW5jdGlvbiBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KQotewotICAgIGV4ZWN1dGVTdGF0ZW1l
bnQodHgsICJEUk9QIElOREVYIFRlc3RJbmRleDsiLCAiU1FMSVRFX0RST1BfSU5ERVgiKTsKLQot
ICAgIC8vIFNRTElURV9EUk9QX1RFTVBfSU5ERVg6IGFsbG93ZWQgaW4gd3JpdGUgbW9kZQotICAg
IC8vIE5vdCBzdXJlIGhvdyB0byB0ZXN0IHRoaXM6IHRlbXAgaW5kZXhlcyBhcmUgYXV0b21hdGlj
YWxseSBkcm9wcGVkIHdoZW4KLSAgICAvLyB0aGUgZGF0YWJhc2UgaXMgY2xvc2VkLCBidXQgSFRN
TDUgZG9lc24ndCBzcGVjaWZ5IGEgY2xvc2VEYXRhYmFzZSgpIGNhbGwuCi0KLSAgICBleGVjdXRl
U3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBUZXN0VGVtcFRhYmxlOyIsICJTUUxJVEVfRFJPUF9U
RU1QX1RBQkxFIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVFJJR0dFUiBUZXN0
VGVtcFRyaWdnZXI7IiwgIlNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiIpOwotICAgIGV4ZWN1dGVT
dGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFRlbXBWaWV3OyIsICJTUUxJVEVfRFJPUF9URU1Q
X1ZJRVciKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUUklHR0VSIFRlc3RUcmln
Z2VyOyIsICJTUUxJVEVfRFJPUF9UUklHR0VSIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwg
IkRST1AgVklFVyBUZXN0VmlldzsiLCAiU1FMSVRFX0RST1BfVklFVyIpOwotCi0gICAgLy8gU1FM
SVRFX0RST1BfVlRBQkxFOiBhbGxvd2VkIGluIHdyaXRlIG1vZGUKLSAgICAvLyBOb3Qgc3VyZSBo
b3cgdG8gdGVzdCB0aGlzOiB3ZSBjYW5ub3QgY3JlYXRlIGEgdmlydHVhbCB0YWJsZSBiZWNhdXNl
IHdlIGRvIG5vdAotICAgIC8vIGhhdmUgU1FML0phdmFzY3JpcHQgQVBJcyB0byByZWdpc3RlciBh
IG1vZHVsZSB0aGF0IGltcGxlbWVudHMgYSB2aXJ0dWFsIHRhYmxlLgotICAgIC8vIFRoZXJlZm9y
ZSwgdHJ5aW5nIHRvIGRyb3AgYSB2aXJ0dWFsIHRhYmxlIHdpbGwgYWx3YXlzIGZhaWwgKG5vIHN1
Y2ggdGFibGUpCi0gICAgLy8gYmVmb3JlIGV2ZW4gZ2V0dGluZyB0byB0aGUgYXV0aG9yaXplci4K
LQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFRBQkxFIFRlc3Q7IiwgIlNRTElURV9E
Uk9QX1RBQkxFIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RSZWFkV3JpdGVNb2RlKGRiKQotewotICAg
IGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICBjcmVhdGVUYWJsZUNh
bGxiYWNrKHR4KTsKLSAgICAgICAgICAgIGNyZWF0ZVN0YXRlbWVudHNDYWxsYmFjayh0eCk7Ci0g
ICAgICAgICAgICBvdGhlclN0YXRlbWVudHNDYWxsYmFjayh0eCk7Ci0gICAgICAgICAgICBkcm9w
U3RhdGVtZW50c0NhbGxiYWNrKHR4KTsKLSAgICAgICAgfSwKLSAgICAgICAgZnVuY3Rpb24oZXJy
b3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJy
b3IpOyB9LAotICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJXcml0ZSB0cmFuc2FjdGlvbiBzdWNj
ZWVkZWQuIik7IH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0UmVhZE9ubHlNb2RlKGRiKQotewotICAg
IC8vIFRlc3QgdGhlICdDUkVBVEUgVEFCTEUnIG9wZXJhdGlvbjsgaXQgc2hvdWxkIGJlIGRpc2Fs
bG93ZWQKLSAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlVGFibGVDYWxsYmFjaywKLSAgICAg
ICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnQ1JFQVRFIFRB
QkxFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwotCi0gICAgLy8gSW4gb3JkZXIg
dG8gdGVzdCBhbGwgb3RoZXIgJ0NSRUFURScgb3BlcmF0aW9ucywgd2UgbXVzdCBjcmVhdGUgdGhl
IHRhYmxlIGZpcnN0Ci0gICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlVGFibGVDYWxsYmFjaywKLSAg
ICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUgJ0NSRUFU
RSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKLSAgICBkYi5yZWFkVHJh
bnNhY3Rpb24oY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrLAotICAgICAgICBmdW5jdGlvbihlcnJv
cikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdDUkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxl
ZCIsIGVycm9yKTsgfSk7Ci0KLSAgICAvLyBJbiBvcmRlciB0byB0ZXN0IHRoZSAnRFJPUCcgYW5k
ICdvdGhlcicgb3BlcmF0aW9ucywgd2UgbmVlZCB0byBmaXJzdCBjcmVhdGUgdGhlIHJlc3BlY3Rp
dmUgZW50aXRpZXMKLSAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVTdGF0ZW1lbnRzQ2FsbGJhY2ss
Ci0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIldyaXRlICdD
UkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Ci0gICAgZGIucmVhZFRyYW5z
YWN0aW9uKG90aGVyU3RhdGVtZW50c0NhbGxiYWNrLAotICAgICAgICBmdW5jdGlvbihlcnJvcikg
eyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdvdGhlcicgdHJhbnNhY3Rpb24gZmFpbGVkIiwg
ZXJyb3IpOyB9KTsKLQotICAgIC8vIEhhY2s6IGluc2VydCBhbiBlbXB0eSB3cml0ZSB0cmFuc2Fj
dGlvbiB0byBndWFyYXRlZSB0aGF0IHRoZXNlIHRyYW5zYWN0aW9ucyBhcmUgZXhlY3V0ZWQgc2Vx
dWVudGlhbGx5Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSk7Ci0gICAgZGIu
cmVhZFRyYW5zYWN0aW9uKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9u
KGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJlYWQgJ0RST1AnIHRyYW5zYWN0aW9uIGZh
aWxlZCIsIGVycm9yKTsgfSwKLSAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiUmVhZCB0cmFuc2Fj
dGlvbnMgc3VjY2VlZGVkLiIpOyB0ZXJtaW5hdGVUZXN0KCk7IH0pOwotfQotCi1mdW5jdGlvbiBy
dW5UZXN0KCkKLXsKLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJBdXRob3Jp
emVyVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGRhdGFiYXNlIGF1dGhvcml6ZXIuIiwgMzI3Njgp
OwotICAgIGNsZWFudXAoZGIpOwotICAgIHRlc3RSZWFkV3JpdGVNb2RlKGRiKTsKLSAgICB0ZXN0
UmVhZE9ubHlNb2RlKGRiKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJh
bnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjg4Yzc0MjYwNWUzNGRkYjk4OGU4
OTMzYzM0ZTA0M2EzM2FjMjRlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2Vw
dGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNP
TlNPTEUgTUVTU0FHRTogVHJhbnNhY3Rpb25DYWxsYmFja0Vycm9yCi1JZiBXZWJLaXQgZG9lc24n
dCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmNjNzMyYmI4ZjJiNTNlY2I0NDgxYTc5OTc1
ZTJjY2Y3MWNjZGMzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNy
YXNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotfQotCi12YXIgZGIgPSBvcGVuRGF0YWJhc2UoIjE1OTc2VGVzdCIsICIx
LjAiLCAiVGVzdCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5
NzYiLCAxKTsKLWRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkgfSwgMCk7Ci0gICB0aHJvdyAiVHJh
bnNhY3Rpb25DYWxsYmFja0Vycm9yIjsKLX0pOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LUlmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFzIHBhc3NlZAotPC9ib2R5Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Ry
YW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMjdmNDc0ZjdiYzZlYTc4YTkyMTdiOThkMDhiOWIyNWE3MTJl
ZmU0ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotQUxFUlQ6IHVuZGVmaW5lZAot
QUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVh
dGVkIGluIHRoaXMgd29ybGQuCi1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24g
Y2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ODI1ZDcwMDM0MDQyODQ2ZWZk
NGQxZDk1ODNiNzJlMmU1OTUyYmJhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2Fj
dGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5zYWN0aW9uQ2FsbGJhY2tzSW52b2tlZCA9
IDA7Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrdHJhbnNhY3Rpb25DYWxsYmFja3NJ
bnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpKQotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHRyYW5zYWN0
aW9uQ2FsbGJhY2sxKHR4KQotewotICAgIGFsZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVk
IHdvcmxkLiIpOwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFj
azIodHgpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwotICAgIGRvbmUoKTsKLX0K
LQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBp
biBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQu
Ym9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOwot
Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAotICAg
ICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjazEodHgpXG4iICsK
LSAgICAgICAgIntcbiIgKwotICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtc
biIgKwotICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xu
IiArCi0gICAgICAgICJ9XG4iICsKLSAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1Ry
YW5zYWN0aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAg
ICAgICAgImRiMS50cmFuc2FjdGlvbih0cmFuc2FjdGlvbkNhbGxiYWNrMSk7Iik7Ci0KLSAgICB2
YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDIn
LCAnMS4wJywgJycsIDEpOwotICAgIGRiMi50cmFuc2FjdGlvbih0cmFuc2FjdGlvbkNhbGxiYWNr
Mik7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmYjMzYmQ5YWI3ZDA3N2M1ZGQ2M2MwMDc5
OGUzZDY3NTAwOWYzMTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTog
bGluZSA2MzogW29iamVjdCBPYmplY3RdCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmpl
Y3QgT2JqZWN0XQotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQs
IHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLVRlc3Rp
bmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5p
bmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFu
ZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVu
dCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmlu
ZyB0cnVlIDogU1VDQ0VTUwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhj
ZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwg
VGVzdHMgYXJlIGNvbXBsZXRlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Ry
YW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYTE1Mzk2Njc4
ZDllYmYzMTUyZDhlOWM4NGQzYzE0Y2I0ZTlmMjc1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNCArMCwwIEBACi1BTEVSVDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9k
eS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMg
dGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQg
aW4gdGhlIHJpZ2h0IHdvcmxkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Ry
YW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUyMTg5NGQyZWEyNzU4YWU5MWY5NzM5YTdi
NTU1ZDVjNmUzMmRjYjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0
aW9uIGVycm9yIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi08ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNr
c0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3RyYW5zYWN0aW9u
RXJyb3JDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1
bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazEodHgpCi17Ci0gICAgYWxlcnQoIkZBSUw6
IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlv
biB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJv
ZHkuYmFyKTsKLSAgICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRv
Y3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJv
ZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBj
cmVhdGVkIGluIHRoaXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNj
cmlwdEluSXNvbGF0ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIHRyYW5z
YWN0aW9uRXJyb3JDYWxsYmFjazEodHgpXG4iICsKLSAgICAgICAgIntcbiIgKwotICAgICAgICAi
ICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKwotICAgICAgICAiICAgIHdpbmRvdy5s
b2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCi0gICAgICAgICJ9XG4iICsKLSAgICAg
ICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uRXJyb3JDYWxsYmFja0lzb2xh
dGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKwotICAgICAgICAiZGIxLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7XG4iICsKLSAgICAgICAgIiAgICB0eC5leGVjdXRlU3FsKCdCQUQgU1RB
VEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgZnVuY3Rpb24odHgsIGVycm9yKSB7
IHJldHVybiB0cnVlOyB9KTtcbiIgKwotICAgICAgICAifSwgdHJhbnNhY3Rpb25FcnJvckNhbGxi
YWNrMSk7Iik7Ci0KLSAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkVycm9y
Q2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7Ci0gICAgZGIyLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQn
LCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJu
IHRydWU7IH0pOwotICAgIH0sIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazIpOwotfQotPC9zY3Jp
cHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Ry
YW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5z
YWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDkwYjJlZDAzNGZkOTVhN2JhZTUyYTA4NmU5YTJlZTVlYmNkZWY3NzIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTA1ICswLDAg
QEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsK
LSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNz
YWdlICsgIjxicj4iOwotfQotCi0vLyBzaWduYWwgdG8gbGF5b3V0VGVzdENvbnRyb2xsZXIgd2hl
biB0aGlzIHJlYWNoZXMgemVyby4KLXZhciB0ZXN0Q291bnQgPSA0OwotLy8gd2UgZmlyc3QgcmV0
cmlldmUgYW5kIHN0b3JlIHRoZSBudW1iZXIgb2Ygcm93cyBhbHJlYWR5IGluIG91ciB0ZXN0IGRh
dGFiYXNlLgotLy8gb3VyIGdvYWwgaXMgdG8ga2VlcCB0aGUgbnVtYmVyIHVuY2hhbmdlZCB0aHJv
dWdoIHRoZSB0ZXN0cy4KLXZhciBpbml0aWFsUm93Q291bnQgPSAwOwotdmFyIGRhdGFiYXNlOwot
dmFyIHN1Y2Nlc3NDYWxsYmFja0NhbGxlZDsKLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0g
ICAgaWYgKC0tdGVzdENvdW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBsb2coIkFsbCBUZXN0
cyBhcmUgY29tcGxldGUuIik7Ci0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0
aW9uIHN1Y2Nlc3NDYWxsYmFjaygpCi17Ci0gICAgc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID0gdHJ1
ZTsKLX0KLQotZnVuY3Rpb24gdmVyaWZ5U3VjY2Vzcyhtc2cpCi17Ci0gICAgZGF0YWJhc2UudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpCi0gICAgewotICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxF
Q1QgY291bnQoKikgQVMgY291bnQgRlJPTSBFcnJvckNhbGxiYWNrVGVzdCIsIFtdLCBmdW5jdGlv
bih0eCwgcnMpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxvZyhtc2cgKyAiIDogIiArIChycy5y
b3dzLml0ZW0oMCkuY291bnQgPT0gaW5pdGlhbFJvd0NvdW50ICYmICFzdWNjZXNzQ2FsbGJhY2tD
YWxsZWQgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRSIpKTsKLSAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIGZhaWxNaWRXYXkoZXJyb3JD
YWxsYmFjaykKLXsKLSAgICBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPSBmYWxzZTsKLSAgICBkYXRh
YmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKLSAgICB7Ci0gICAgICAgIHR4LmV4ZWN1dGVT
cWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0KHNvbWVWYWx1ZSkgVkFMVUVTKD8pOyIs
IFsgMSBdKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiTVVUVEVSIFNPTUVUSElORyBJTExFR0lC
TEUiKTsKLSAgICB9LCBlcnJvckNhbGxiYWNrLCBzdWNjZXNzQ2FsbGJhY2spOwotfQotCi1mdW5j
dGlvbiBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihlcnJvckNhbGxiYWNrKQotewot
ICAgIHN1Y2Nlc3NDYWxsYmFja0NhbGxlZCA9IGZhbHNlOwotICAgIGRhdGFiYXNlLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElO
VE8gRXJyb3JDYWxsYmFja1Rlc3Qoc29tZVZhbHVlKSBWQUxVRVMoPyk7IiwgWyAxIF0sIGZ1bmN0
aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgdGhyb3cge307Ci0gICAgICAgIH0pOwotICAg
IH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0
YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAg
IGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJFcnJvckNhbGxiYWNrRGF0YWJhc2UiLCAiMS4wIiwg
IlRlc3QgZm9yIGVycm9yIGNhbGxiYWNrIiwgMSk7Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpCi0gICAgewotICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUg
SUYgTk9UIEVYSVNUUyBFcnJvckNhbGxiYWNrVGVzdCAoc29tZVZhbHVlKSIsIFtdKTsKLSAgICAg
ICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50IEZST00gRXJyb3JDYWxs
YmFja1Rlc3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
bml0aWFsUm93Q291bnQgPSBycy5yb3dzLml0ZW0oMCkuY291bnQ7Ci0gICAgICAgIH0pOwotICAg
IH0pOwotCi0gICAgZmFpbE1pZFdheShmdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOwotICAg
IHZlcmlmeVN1Y2Nlc3MoIlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBl
cnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSIpOwotICAgIGZhaWxNaWRXYXkoZnVuY3Rpb24o
KSB7IHJldHVybiBmYWxzZTsgfSk7Ci0gICAgdmVyaWZ5U3VjY2VzcygiVGVzdGluZyB0cmFuc2Fj
dGlvbiBmYWlsaW5nIG1pZC13YXkgYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybiBmYWxzZSIpOwot
ICAgIHN0YXRlbWVudENhbGxiYWNrVGhyb3dzRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeyByZXR1cm4g
dHJ1ZTsgfSk7Ci0gICAgdmVyaWZ5U3VjY2VzcygiVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sg
dGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSIpOwot
ICAgIHN0YXRlbWVudENhbGxiYWNrVGhyb3dzRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeyByZXR1cm4g
ZmFsc2U7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNr
IHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIik7
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1U
aGlzIHRlc3QgY29uZmlybXMgdGhhdCA8Y29kZT5TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s8
L2NvZGU+IGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQs
IHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLTxwcmUg
aWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nl
c3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlNDI3ZjRhY2U3MzgzM2I1ZTZlYzQ2ODZhZmU3MDU5NjQzYmYxZDhjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFMRVJUOiB1bmRlZmluZWQK
LUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3Jl
YXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9u
IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nl
c3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggY2EyZGY5NGIzNGFkNTg2YjQwNzYzNDIwYzBjNzAzNjkzZDIxNzgyYi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4K
LVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIGlz
IGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxz
Y3JpcHQ+Ci12YXIgdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2tzSW52b2tlZCA9IDA7Ci1mdW5j
dGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2tzSW52
b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiB0cmFuc2FjdGlv
blN1Y2Nlc3NDYWxsYmFjazEodHgpCi17Ci0gICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNv
bGF0ZWQgd29ybGQuIik7Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiB0cmFuc2FjdGlvblN1
Y2Nlc3NDYWxsYmFjazIodHgpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwotICAg
IGRvbmUoKTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5m
b28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFT
UzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhp
cyB3b3JsZC4iOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRl
ZFdvcmxkKAotICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNz
Q2FsbGJhY2sxKHR4KVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChk
b2N1bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2ph
dmFzY3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIx
ID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQx
JywgJzEuMCcsICcnLCAxKTtcbiIgKwotICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7IH0sIG51bGwsIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSk7Iik7Ci0KLSAgICB2
YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVk
V29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsgfSwgbnVsbCwgdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2syKTsKLX0KLTwvc2NyaXB0Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
Y2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
Y2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM5MzllMzY1MGM1NTczZmI5
ZjhkZDA3NmVkYzIxOTJmOTg3ZjcxZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigp
IGZ1bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgorRmluaXNoZWQgdGVzdHMgd2l0aCB2ZXJzaW9u
IDM7IGV4cGVjdGVkIHZlcnNpb246IDMKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRs
ZS1yZXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y3NjQ4MWIzNGVjMjg1NjFkZTAyNzIz
NGM1OTdmOWU0Zjg5YTE1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2IEBACitUaGlzIHRlc3RzIHRoYXQgYSBkYXRhYmFzZSBjYW4gYmUgYWNjZXNzZWQgYWZ0ZXIg
Y2hhbmdpbmcgaXRzIHZlcnNpb24uIFlvdSBzaG91bGQgc2VlIGFuIGVycm9yIGFib3V0IEZvb0Jh
ciB0YWJsZSBiZWxvdywgbm90IGFib3V0IG1pc21hdGNoaW5nIHZlcnNpb25zLgorY2hhbmdlVmVy
c2lvbjogdHJhbnNhY3Rpb24gY2FsbGJhY2sKK2NoYW5nZVZlcnNpb246IHN1Y2Nlc3MgY2FsbGJh
Y2sKK3RyYW5zYWN0aW9uOiBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2s6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMSBubyBzdWNoIHRhYmxlOiBGb29CYXIpCitURVNUIENPTVBMRVRFLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1o
YW5kbGUtcmV1c2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJz
aW9uLWhhbmRsZS1yZXVzZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmM2ZiZjQ4NGQ3YTg1YTM0OTBiNTE1
YjcwODk1NDRhZWUwODZmYTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbApAQCAtMCwwICsxLDEyIEBA
Cis8aHRtbD4gCis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJjaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2Uu
anMiPjwvc2NyaXB0PgorPC9oZWFkPiAKKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCki
PiAKKzxkaXY+VGhpcyB0ZXN0cyB0aGF0IGEgZGF0YWJhc2UgY2FuIGJlIGFjY2Vzc2VkIGFmdGVy
IGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hvdWxkIHNlZSBhbiBlcnJvciBhYm91dCBGb29C
YXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNtYXRjaGluZyB2ZXJzaW9ucy4KKzxwcmUgaWQ9
ImNvbnNvbGUiPiAKK0ZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPiAKKzwvYm9keT4g
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2Ut
dmVyc2lvbi1oYW5kbGUtcmV1c2UuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODQ3YTU4YzNiOTFmZjJjNTA4
MGYyYzkyMGE1ZDQxYWJjYjVjZTJhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcwpAQCAtMCwwICsxLDQ2
IEBACitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBsb2coIlRFU1QgQ09NUExFVEUuIik7
CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIHRyeSB7CisgICAgICAgIGRiID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiQ2hhbmdlVmVy
c2lvbiIsICIiLCAiVGVzdCB0aGF0IGNoYW5naW5nIGEgZGF0YWJhc2UgdmVyc2lvbiBkb2Vzbid0
IGtpbGwgb3VyIGhhbmRsZSB0byBpdCIsIDEpOworICAgICAgICB2YXIgdmVyc2lvbiA9IGRiLnZl
cnNpb247CisgICAgICAgIHZhciBuZXdWZXJzaW9uID0gdmVyc2lvbiA/IChwYXJzZUludCh2ZXJz
aW9uKSArIDEpLnRvU3RyaW5nKCkgOiAiMSI7IAorICAgICAgICBkYi5jaGFuZ2VWZXJzaW9uKHZl
cnNpb24sIG5ld1ZlcnNpb24sIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICBsb2coImNoYW5n
ZVZlcnNpb246IHRyYW5zYWN0aW9uIGNhbGxiYWNrIik7CisgICAgICAgIH0sIGZ1bmN0aW9uKGVy
cm9yKSB7CisgICAgICAgICAgICBsb2coImNoYW5nZVZlcnNpb246IGVycm9yIGNhbGxiYWNrOiAi
ICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
bG9nKCJjaGFuZ2VWZXJzaW9uOiBzdWNjZXNzIGNhbGxiYWNrIik7CisgICAgICAgICAgICBydW5U
ZXN0MigpOworICAgICAgICB9KTsKKyAgICAgICAgCisgICAgfSBjYXRjaCAoZSkgeworICAgICAg
ICBsb2coImNoYW5nZVZlcnNpb24gZXhjZXB0aW9uOiAiICsgZSk7CisgICAgICAgIGZpbmlzaFRl
c3QoKTsKKyAgICB9Cit9CisgCitmdW5jdGlvbiBydW5UZXN0MigpCit7CisgICAgdHJ5IHsKKyAg
ICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIlNFTEVDVCAqIGZyb20gRm9vQmFyIiwgW10sIGZ1bmN0aW9uKHR4KSB7CisgICAgICAg
ICAgICAgICAgbG9nKCJ0cmFuc2FjdGlvbjogc3RhdGVtZW50IGNhbGxiYWNrIik7CisgICAgICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9y
KSB7CisgICAgICAgICAgICAgICAgbG9nKCJ0cmFuc2FjdGlvbjogc3RhdGVtZW50IGVycm9yIGNh
bGxiYWNrOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgp
OworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAg
ICAgbG9nKCJ0cmFuc2FjdGlvbiBleGNlcHRpb246ICIgKyBlKTsKKyAgICAgICAgZmluaXNoVGVz
dCgpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2No
YW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXBy
ZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYjBkNTQ5Y2IwY2Q0N2Rm
YTg2NjFlNmU2YzU5ODkwNDNiOTljMzMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1
cmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
bm8gYXNzZXJ0aW9uIGlzIHRyaWdnZXJlZCB3aGVuIGNoYW5nZVZlcnNpb24oKSdzIHByZWZsaWdo
dCBzdGVwIGZhaWxzLgorUEFTUzogZGIuY2hhbmdlVmVyc2lvbigpIGZhaWxlZCBhcyBleHBlY3Rl
ZCwgYW5kIG5vIGFzc2VydGlvbnMgd2VyZSB0cmlnZ2VyZWQuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdo
dC1mYWlsdXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lv
bi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhNTEyZmI5
YWM5MWRmYjRkYTJjOGYyZTgzNmRiYzUwODc2NTkxMjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGln
aHQtZmFpbHVyZS5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQor
CitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHZhciBkYiA9IHdpbmRvdy5v
cGVuRGF0YWJhc2UoIkNoYW5nZVZlcnNpb25GYWlsdXJlVGVzdCIsICIxIiwgIlRlc3QgdGhlIHBy
ZWZsaWdodCBzdGVwIiwgMTAyNCk7CisgICAgZGIuY2hhbmdlVmVyc2lvbigiMiIsICIzIiwgbnVs
bCwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgbG9nKCJQQVNTOiBkYi5jaGFuZ2VWZXJzaW9u
KCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBhbmQgbm8gYXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4i
KTsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBs
b2coIkZBSUw6IGRiLmNoYW5nZVZlcnNpb24oKSB3YXMgZXhwZWN0ZWQgdG8gZmFpbC4iKTsKKyAg
ICAgICAgZmluaXNoVGVzdCgpOworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgbm8gYXNzZXJ0
aW9uIGlzIHRyaWdnZXJlZCB3aGVuIGNoYW5nZVZlcnNpb24oKSdzIHByZWZsaWdodCBzdGVwIGZh
aWxzLgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24uaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
OWJiOWRmNTg4Yjk0Y2RkYzAzYjJmNzlhYzlhYTRmMDY2NDZiOTVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24uaHRtbApAQCAtMCww
ICsxLDEwNiBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UZXN0IGRhdGFiYXNlLmNoYW5nZVZl
cnNpb248L3RpdGxlPgorPHNjcmlwdD4KK3ZhciBkYjE7Cit2YXIgRVhQRUNURURfVkVSU0lPTl9B
RlRFUl9ISVhJRV9URVNUID0gJzInOwordmFyIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FE
ID0gJzMnOworCitmdW5jdGlvbiBlbXB0eUZ1bmN0aW9uKCkgeyB9CisKK2Z1bmN0aW9uIGNoYW5n
ZVZlcnNpb25DYWxsYmFjayh0eCkKK3sKKyAgICB0eC5leGVjdXRlU3FsKCJEUk9QIHRhYmxlIGlm
IGV4aXN0cyBpbmZvOyIsIFtdLCBlbXB0eUZ1bmN0aW9uLCBlbXB0eUZ1bmN0aW9uKTsKKyAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgdGFibGUgaWYgbm90IGV4aXN0cyBpbmZvICh2ZXJzaW9uIElO
VEVHRVIpOyIsIFtdLCBlbXB0eUZ1bmN0aW9uLCBlbXB0eUZ1bmN0aW9uKTsKKyAgICB0eC5leGVj
dXRlU3FsKCJJTlNFUlQgaW50byBpbmZvIHZhbHVlcyg/KTsiLCBbRVhQRUNURURfVkVSU0lPTl9B
RlRFUl9SRUxPQURdLCBlbXB0eUZ1bmN0aW9uLCBlbXB0eUZ1bmN0aW9uKTsKK30KKworZnVuY3Rp
b24gY2hhbmdlVmVyc2lvblN1Y2Nlc3MoKQoreworICAgIGxvZygiU3VjY2Vzc2Z1bGx5IGNoYW5n
ZWQgdmVyc2lvbiB0byAiICsgZGIxLnZlcnNpb24gKyAiLiBSZWxvYWRpbmcuIik7CisgICAgd2lu
ZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cubG9jYXRpb24gKyAnPzInOworfQorCitmdW5jdGlv
biBjaGFuZ2VWZXJzaW9uRXJyb3IoZXJyb3IpCit7CisgICAgbG9nKCJFcnJvcjogIiArIGVycm9y
Lm1lc3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gZmluaXNoVGVzdCgp
Cit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgIGxvZygiVEVTVCBDT01QTEVURSIpOwor
fQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24g
cnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2ggPT0gIj8yIikgewor
ICAgICAgICBkYjEgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJjaGFuZ2V2ZXJzaW9uLXRlc3QiLCAi
IiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rpb24iLCAxMDI0
KTsKKyAgICAgICAgbG9nKCJGaW5pc2hlZCB0ZXN0cyB3aXRoIHZlcnNpb24gIiArIGRiMS52ZXJz
aW9uICsgIjsgZXhwZWN0ZWQgdmVyc2lvbjogIiArIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfUkVM
T0FEKTsKKworICAgICAgICAvLyBSZXNldCB0aGUgREIgdmVyc2lvbiBvciB0aGUgbmV4dCBydW4g
bWlnaHQgZmFpbC4KKyAgICAgICAgZGIxLmNoYW5nZVZlcnNpb24oZGIxLnZlcnNpb24sICIxIik7
CisKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0gZWxzZQorICAgICAgICB0ZXN0UGFydDEo
KTsKK30KKworZnVuY3Rpb24gdGVzdFBhcnQxKCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRh
YmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAg
ZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVyc2lvbi10ZXN0IiwgIjEiLCAiVGVz
dCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBmdW5jdGlvbiIsIDEwMjQpOworICAg
IHZhciBkYjIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJjaGFuZ2V2ZXJzaW9uLXRlc3QiLCAiMSIs
ICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1bmN0aW9uIiwgMTAyNCk7
CisKKyAgICAvLyBGaXJzdCBydW4gSGl4aWUncyB0ZXN0IHRvIGVuc3VyZSBiYXNpYyBjaGFuZ2VW
ZXJzaW9uIGZ1bmN0aW9uYWxpdHkgd29ya3MgKHNlZSBidWcgMjg0MTgpLgorICAgIGRiMS5jaGFu
Z2VWZXJzaW9uKCIxIiwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9ISVhJRV9URVNULCBudWxsLCBm
dW5jdGlvbiAoZSkgeworICAgICAgICBsb2coIkZBSUwgaW4gY2hhbmdlVmVyc2lvbjoiICsgZSk7
CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9LCBmdW5jdGlvbiAoKSB7CisgICAgICAgIC8v
IE1ha2Ugc3VyZSB0aGUgdmVyc2lvbiBjaGFuZ2UgaGFzIHByb3BhZ2F0ZWQgdG8gZGIyIHRvby4K
KyAgICAgICAgLy8gQWxsIHRyYW5zYWN0aW9ucyBvbiBkYjIgc2hvdWxkIGZhaWwuCisgICAgICAg
IGlmIChkYjIudmVyc2lvbiAhPSBkYjEudmVyc2lvbikgeworICAgICAgICAgICAgbG9nKCJGQUlM
OiBjaGFuZ2luZyBkYjEncyB2ZXJzaW9uICgiICsgZGIxLnZlcnNpb24gKyAiKSBkaWQgbm90IGNo
YW5nZSBkYjIncyB2ZXJzaW9uICgiICsgZGIyLnZlcnNpb24gKyAiKSBhcyBleHBlY3RlZC4iKTsK
KyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgfQorICAgICAgICBkYjIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFC
TEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIpOworICAgICAgICB9LCBmdW5jdGlvbihl
cnJvcikgeyB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGxvZygiRkFJTDogVGhlIERCIHZl
cnNpb24gY2hhbmdlZCwgYWxsIHRyYW5zYWN0aW9ucyBvbiBkYjIgc2hvdWxkIGZhaWwuIik7Cisg
ICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0pOworCisgICAgICAgIC8vIE1ha2Ug
c3VyZSBhbnkgbmV3IGhhbmRsZSB0byB0aGUgc2FtZSBEQiBzZWVzIHRoZSBuZXcgdmVyc2lvbgor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIGRiMyA9IG9wZW5EYXRhYmFzZSgiY2hhbmdl
LXZlcnNpb24tdGVzdCIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCwgIiIsIDAp
OworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICBsb2coIkZBSUwgaW4gb3BlbkRh
dGFiYXNlOiAiICsgZSk7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAg
ICAgICAgaWYgKGRiMS52ZXJzaW9uICE9IGRiMy52ZXJzaW9uKSB7CisgICAgICAgICAgICBsb2co
IkZBSUw6IGRiLnZlcnNpb24oIiArIGRiMS52ZXJzaW9uICsgIikgZG9lcyBub3QgbWF0Y2ggZGIz
LnZlcnNpb24oIiArIGRiMy52ZXJzaW9uICsiKSIpOworICAgICAgICAgICAgZmluaXNoVGVzdCgp
OworICAgICAgICB9CisKKyAgICAgICAgLy8gTm93IHRyeSBhIHRlc3QgdG8gZW5zdXJlIHRoZSB2
ZXJzaW9uIHBlcnNpc3RzIGFmdGVyIHJlbG9hZGluZyAoc2VlIGJ1ZyAyNzgzNikKKyAgICAgICAg
ZGIxLmNoYW5nZVZlcnNpb24oRVhQRUNURURfVkVSU0lPTl9BRlRFUl9ISVhJRV9URVNULCBFWFBF
Q1RFRF9WRVJTSU9OX0FGVEVSX1JFTE9BRCwgY2hhbmdlVmVyc2lvbkNhbGxiYWNrLCBjaGFuZ2VW
ZXJzaW9uRXJyb3IsIGNoYW5nZVZlcnNpb25TdWNjZXNzKTsKKyAgICB9KTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHRoZSBKUyBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rpb24gd29ya3MgYXMg
ZXhwZWN0ZWQuCis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3Mt
dGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJp
bmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhYWQ5MGMxNjI5ZTUwYjBl
NjA1MmNmOGI2ZTQ3ZTEzZTEwMWMwMjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNSBAQAorU2hvdWxkIG5vdCBjcmFzaCBvciBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVy
ZS4KKworQSBKYXZhU2NyaXB0IGZhaWx1cmUgb24gdGhlIGNvbnNvbGUgaXMgZXhwZWN0ZWQsIGhv
d2V2ZXIsIGFzIHRoZSBnbG9iYWwgb2JqZWN0IGlzIGNsZWFyZWQgd2hlbiBjbG9zaW5nIGEgZnJh
bWUuIEl0IGFjdHVhbGx5IGhlbHBzIHRvIGNhdXNlIGRhdGFiYXNlIGFjdGl2aXR5IGJ5IHRocm93
aW5nIGFuIGV4Y2VwdGlvbiBmcm9tIGEgY2FsbGJhY2suCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41Y2M1MmZkOTU1MGQ5OWU0NGFiODYzMGZjNjcwMmVkOTQyODg1N2UyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVz
cy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPGJvZHk+Cis8cD5TaG91bGQgbm90IGNyYXNo
IG9yIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLjwvcD4KKzxwPkEgSmF2YVNjcmlwdCBmYWls
dXJlIG9uIHRoZSBjb25zb2xlIGlzIGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9i
amVjdCBpcyBjbGVhcmVkIHdoZW4gY2xvc2luZyBhIGZyYW1lLgorSXQgYWN0dWFsbHkgaGVscHMg
dG8gY2F1c2UgZGF0YWJhc2UgYWN0aXZpdHkgYnkgdGhyb3dpbmcgYW4gZXhjZXB0aW9uIGZyb20g
YSBjYWxsYmFjay48L3A+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cit9CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdCgp
Cit7CisgICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFt
ZScpWzBdLnNyYyA9ICdhYm91dDpibGFuayciLCAxMDApOworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKSIsIDUwMCk7Cit9Cis8L3NjcmlwdD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJj
ZXMvc3RyZXNzLWZyYW1lLmh0bWwiIG9ubG9hZD0ic3RhcnRUZXN0KCkiPjwvaWZyYW1lPgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9j
ay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
ZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3Mjk1
NjNhYjgwOGNiM2RiZWQ3NzI1MmU3ZTQwMjEyYjUwY2QzMjIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitJbnNlcnRpbmcgc29tZSBkYXRhCitUZXN0IHBhcnQg
MiBDb21wbGV0ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9kYXRh
YmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
ZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjU5ODlmNzgwMjU3
Y2ZkM2JhNDk5OTU4NWU0ZTU3NjUyMTJiMTUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbApAQCAtMCww
ICsxLDY3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGxvZyhtZXNzYWdl
KQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9
IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGxv
ZygiVGVzdCBwYXJ0IDEgQ29tcGxldGUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIGVycm9yRnVuY3Rpb24oZXJyb3IpCit7CisgICAgbG9nKCJUZXN0IGZhaWxlZCAt
ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIGFk
ZERhdGEoZGIpCit7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
bG9nKCJJbnNlcnRpbmcgc29tZSBkYXRhIik7CisgICAgICAgIC8vIExvYWQgYSBuZXcgcGFnZSB3
aGlsZSB0aGUgdHJhbnNhY3Rpb24gaXMgc3RpbGwgaW4gcHJvZ3Jlc3MsIGludGVycnVwdGluZyB0
aGUgdHJhbnNhY3Rpb24uCisgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBsZWF2ZSB0aGUgZGF0
YWJhc2UgbG9ja2VkIGFuZCBvbiB0aGUgbmV4dCBwYWdlIHdlIHNob3VsZCBiZSBhYmxlIHRvIGlu
c2VydAorICAgICAgICAvLyBzb21lIG1vcmUgZGF0YS4KKyAgICAgICAgdHguZXhlY3V0ZVNxbCgi
SU5TRVJUIElOVE8gRGF0YVRlc3QgKHRlc3REYXRhKSBWQUxVRVMgKFpFUk9CTE9CKDUyNDIwMCkp
IiwgW10sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IGxvY2F0aW9uLmhyZWYg
PSAiLi9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sIjsgfSwKKyAg
ICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0aW9uKGVycm9yKTsgfSk7
CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkg
VkFMVUVTIChaRVJPQkxPQig1MjQyMDApKSIpOworICAgIH0sIGVycm9yRnVuY3Rpb24sIGZ1bmN0
aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworICAgIH0KKworICAgIHZhciBkYXRhYmFzZTsKKyAgICB0cnkgeworICAgICAgICBk
YXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIxLjAiLCAiVGVzdCBm
b3IgZGF0YWJhc2UgbG9ja2luZyIsIDUyNDI4ODApOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAg
ICAgbG9nKCJFcnJvciAtIGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7CisgICAgICAgIGZpbmlz
aFRlc3QoKTsKKyAgICB9CisKKyAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkg
eworICAgICAgICBsb2coIkFkZGluZyBhIHRhYmxlIik7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IkNSRUFURSBUQUJMRSBEYXRhVGVzdCAodGVzdERhdGEpIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1
bHQpIHsgfSwKKyAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0aW9u
KGVycm9yKTsgfSk7CisgICAgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rpb24oKSB7IGFkZERhdGEo
ZGF0YWJhc2UpOyB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2VtcHR5LXN0YXRlbWVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1l
bnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4ZDlkY2E0ZTI3MzUzNGRiM2Q4MzNiNjk5OTUw
ZGNiMTUxODRhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorRXhlY3V0ZWQg
YW4gZW1wdHkgc3RhdGVtZW50LiBJZiB5b3UgZGlkbid0IHNlZSBhIGNyYXNoIG9yIGFzc2VydGlv
biwgdGhlIHRlc3QgcGFzc2VkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Vt
cHR5LXN0YXRlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2ZWM1YjhjYWM1ZTRhNTgyNjA4NzZiYjUz
OWZiOGJhYjYwNGNmNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4KKworPGhl
YWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQorewor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3Nh
Z2UgKyAiXG4iOworfQorCitmdW5jdGlvbiBleGVjdXRlRW1wdHlTdGF0ZW1lbnQodHJhbnNhY3Rp
b24pCit7CisgICAgdHJhbnNhY3Rpb24uZXhlY3V0ZVNxbCgiIik7CisgICAgd3JpdGVNZXNzYWdl
VG9Mb2coIkV4ZWN1dGVkIGFuIGVtcHR5IHN0YXRlbWVudC4gSWYgeW91IGRpZG4ndCBzZWUgYSBj
cmFzaCBvciBhc3NlcnRpb24sIHRoZSB0ZXN0IHBhc3NlZC4iKTsKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAg
fQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRW1wdHlTdGF0ZW1lbnRUZXN0IiwgIjEuMCIs
ICJEYXRhYmFzZSBmb3IgYW4gZW1wdHkgc3RhdGVtZW50IHRlc3QiLCAxKTsKKyAgICBkYi50cmFu
c2FjdGlvbihleGVjdXRlRW1wdHlTdGF0ZW1lbnQpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4K
KworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8
L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUzMGI0YmRkNmNm
ZGJmMmQ5MjAzOWQ1NWEyOWU5MzY3YzYyZDFhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjkgQEAKK1BBU1MuIGV4ZWN1dGVTcWwobnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24KK1BBU1MuIGV4ZWN1dGVTcWwodW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorUEFTUy4gZXhlY3V0ZVNxbCgwKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUy4g
ZXhlY3V0ZVNxbCgiIikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVT
cWwoIiIsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3Fs
KCIiLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRl
U3FsKCIiLCBbXSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwo
IiIsIFsgImFyZzAiIF0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRl
U3FsKCIiLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3Fs
KCIiLCB7IGxlbmd0aDogMCB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhl
Y3V0ZVNxbCgiIiwgeyBsZW5ndGg6IDEsIDA6ICJhcmcwIiB9KSBkaWQgbm90IHRocm93IGFuIGV4
Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIHVuZGVmaW5lZCkgZGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIHsgfSkgZGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGws
IG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBu
dWxsLCBudWxsLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBl
eGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
CitQQVNTLiBleGVjdXRlU3FsKCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFT
Uy4gZXhlY3V0ZVNxbCh0aHJvd09uVG9TdHJpbmdPYmplY3QpIHRocmV3IGFuIGV4Y2VwdGlvbiBh
cyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3Qp
IHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIHRo
cm93T25HZXRaZXJvT2JqZWN0KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNT
LiBleGVjdXRlU3FsKCIiLCBbIHRocm93T25Ub1N0cmluZ09iamVjdCBdKSB0aHJldyBhbiBleGNl
cHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCAwKSB0aHJldyBhbiBleGNl
cHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCAiIikgdGhyZXcgYW4gZXhj
ZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgMCkgdGhyZXcg
YW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgIiIp
IHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51
bGwsIG51bGwsIDApIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1
dGVTcWwoIiIsIG51bGwsIG51bGwsICIiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQu
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFy
Z3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iOWYyYTQzYWJhYTM2N2NkOTVjYjAyNjhjOWY3NGM5ODZhOTljNWNiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwt
YXJncy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZXhl
Y3V0ZS1zcWwtYXJncy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0ic2V0
dXBBbmRSdW5UZXN0KCkiPgorPHByZSBpZD0iY29uc29sZSI+IAorRkFJTFVSRTogdGVzdCBkaWRu
J3QgcnVuLgorPC9wcmU+IAorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLmpzIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjk0MTRkYjNjYTNj
ODA1MDYxYmRhYzZhYzZjOGZiN2Q3ZmM5MDJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5qcwpAQCAtMCwwICsxLDg2IEBACit2
YXIgdGhyb3dPblRvU3RyaW5nT2JqZWN0ID0geyB9OwordGhyb3dPblRvU3RyaW5nT2JqZWN0LnRv
U3RyaW5nID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAiQ2Fubm90IGNhbGwgdG9TdHJpbmcgb24gdGhp
cyBvYmplY3QuIiB9OworCit2YXIgdGhyb3dPbkdldExlbmd0aE9iamVjdCA9IHsgfTsKK3Rocm93
T25HZXRMZW5ndGhPYmplY3QuX19kZWZpbmVHZXR0ZXJfXygibGVuZ3RoIiwgZnVuY3Rpb24gKCkg
eyB0aHJvdyAiQ2Fubm90IGdldCBsZW5ndGggb2YgdGhpcyBvYmplY3QuIjsgfSk7CisKK3ZhciB0
aHJvd09uR2V0WmVyb09iamVjdCA9IHsgbGVuZ3RoOiAxIH07Cit0aHJvd09uR2V0WmVyb09iamVj
dC5fX2RlZmluZUdldHRlcl9fKCIwIiwgZnVuY3Rpb24gKCkgeyB0aHJvdyAiQ2Fubm90IGdldCAw
IHByb3BlcnR5IG9mIHRoaXMgb2JqZWN0LiI7IH0pOworCit2YXIgZXhwZWN0Tm9FeGNlcHRpb24g
PSBbCisgICAgJ251bGwnLAorICAgICd1bmRlZmluZWQnLAorICAgICcwJywKKyAgICAnIiInLAor
ICAgICciIiwgbnVsbCcsCisgICAgJyIiLCB1bmRlZmluZWQnLAorICAgICciIiwgW10nLAorICAg
ICciIiwgWyAiYXJnMCIgXScsCisgICAgJyIiLCB7IH0nLAorICAgICciIiwgeyBsZW5ndGg6IDAg
fScsCisgICAgJyIiLCB7IGxlbmd0aDogMSwgMDogImFyZzAiIH0nLAorICAgICciIiwgbnVsbCwg
bnVsbCcsCisgICAgJyIiLCBudWxsLCB1bmRlZmluZWQnLAorICAgICciIiwgbnVsbCwgeyB9JywK
KyAgICAnIiIsIG51bGwsIG51bGwsIG51bGwnLAorICAgICciIiwgbnVsbCwgbnVsbCwgdW5kZWZp
bmVkJywKKyAgICAnIiIsIG51bGwsIG51bGwsIHsgfScsCitdOworCit2YXIgZXhwZWN0RXhjZXB0
aW9uID0gWworICAgICcnLAorICAgICd0aHJvd09uVG9TdHJpbmdPYmplY3QnLAorICAgICciIiwg
dGhyb3dPbkdldExlbmd0aE9iamVjdCcsCisgICAgJyIiLCB0aHJvd09uR2V0WmVyb09iamVjdCcs
CisgICAgJyIiLCBbIHRocm93T25Ub1N0cmluZ09iamVjdCBdJywKKyAgICAnIiIsIDAnLAorICAg
ICciIiwgIiInLAorICAgICciIiwgbnVsbCwgMCcsCisgICAgJyIiLCBudWxsLCAiIicsCisgICAg
JyIiLCBudWxsLCBudWxsLCAwJywKKyAgICAnIiIsIG51bGwsIG51bGwsICIiJywKK107CisKK2Z1
bmN0aW9uIHRyeUV4ZWN1dGVTcWwodHJhbnNhY3Rpb24sIHBhcmFtZXRlckxpc3QpCit7CisgICAg
dHJ5IHsKKyAgICAgICAgZXZhbCgndHJhbnNhY3Rpb24uZXhlY3V0ZVNxbCgnICsgcGFyYW1ldGVy
TGlzdCArICcpJyk7CisgICAgICAgIHJldHVybiBudWxsOworICAgIH0gY2F0Y2ggKGV4Y2VwdGlv
bikgeworICAgICAgICByZXR1cm4gZXhjZXB0aW9uOworICAgIH0KK30KKworZnVuY3Rpb24gcnVu
VHJhbnNhY3Rpb25UZXN0KHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0LCBleHBlY3RFeGNlcHRp
b24pCit7CisgICAgdmFyIGV4Y2VwdGlvbiA9IHRyeUV4ZWN1dGVTcWwodHJhbnNhY3Rpb24sIHBh
cmFtZXRlckxpc3QpOworICAgIGlmIChleHBlY3RFeGNlcHRpb24pIHsKKyAgICAgICAgaWYgKGV4
Y2VwdGlvbikKKyAgICAgICAgICAgIGxvZygiUEFTUy4gZXhlY3V0ZVNxbCgiICsgcGFyYW1ldGVy
TGlzdCArICIpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4iKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgbG9nKCIqRkFJTCouIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3Qg
KyAiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbiIpOworICAgIH0gZWxzZSB7CisgICAgICAg
IGlmIChleGNlcHRpb24pCisgICAgICAgICAgICBsb2coIipGQUlMKi4gZXhlY3V0ZVNxbCgiICsg
cGFyYW1ldGVyTGlzdCArICIpIHRocmV3IGFuIGV4Y2VwdGlvbjogIiArIGV4Y2VwdGlvbik7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZygiUEFTUy4gZXhlY3V0ZVNxbCgiICsgcGFyYW1l
dGVyTGlzdCArICIpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uIik7CisgICAgfQorfQorCitm
dW5jdGlvbiBydW5UcmFuc2FjdGlvblRlc3RzKHRyYW5zYWN0aW9uKQoreworICAgIGZvciAoaSBp
biBleHBlY3ROb0V4Y2VwdGlvbikKKyAgICAgICAgcnVuVHJhbnNhY3Rpb25UZXN0KHRyYW5zYWN0
aW9uLCBleHBlY3ROb0V4Y2VwdGlvbltpXSwgZmFsc2UpOworICAgIGZvciAoaSBpbiBleHBlY3RF
eGNlcHRpb24pCisgICAgICAgIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0
RXhjZXB0aW9uW2ldLCB0cnVlKTsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVu
Y3Rpb24gcnVuVGVzdCgpCit7CisKKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4
KCJFeGVjdXRlU1FMQXJnc1Rlc3QiLCAiMS4wIiwgIlRlc3Qgb2YgaGFuZGxpbmcgb2YgdGhlIGFy
Z3VtZW50cyB0byBTUUxUcmFuc2FjdGlvbi5leGVjdXRlU3FsIiwgMSk7CisgICAgZGIudHJhbnNh
Y3Rpb24ocnVuVHJhbnNhY3Rpb25UZXN0cyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1v
bmx5LW9uZS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5NWNlZWU4Yzg4M2Fk
ZTE0M2VhOTZhMTUyMzU3ZDA2NzU5YTlmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdCB0ZXN0cyB0aGF0IGV4ZWN1dGVT
cWwoKSBmYWlscyB3aGVuIGNhbGxlZCB3aXRoIGEgc3RyaW5nIHRoYXQgaGFzIG1vcmUgdGhhbiBv
bmUgdmFsaWQgc3RhdGVtZW50IGluIGl0LgorVGVzdCBwYXNzZWQuCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0
ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0
cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzg2MGM4OTkyNWYyZmNkYjEw
NjM2ZmU3YzYyM2FjODNiMTM2MDJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sCkBA
IC0wLDAgKzEsNzggQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCit2YXIgVE9UQUxfU1RB
VEVNRU5UUyA9IDg7Cit2YXIgc3RhdGVtZW50cyA9IDA7Cit2YXIgZGIgPSBudWxsOworCitmdW5j
dGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCArPSBtZXNz
YWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBleGVjdXRlU3RhdGVtZW50KGV4cGVjdGVkVG9Q
YXNzLCBzdGF0ZW1lbnQpCit7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAg
ICAgICAgdHguZXhlY3V0ZVNxbChzdGF0ZW1lbnQsIFtdLAorICAgICAgICAgICAgZnVuY3Rpb24o
dHgsIGRhdGEpIHsKKyAgICAgICAgICAgICAgICBpZiAoIWV4cGVjdGVkVG9QYXNzKSB7CisgICAg
ICAgICAgICAgICAgICAgIGxvZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBl
Y3RlZCB0byBmYWlsLCBidXQgcGFzc2VkLiIpOworICAgICAgICAgICAgICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgrK3N0YXRl
bWVudHMgPT0gVE9UQUxfU1RBVEVNRU5UUykgeworICAgICAgICAgICAgICAgICAgICBsb2coIlRl
c3QgcGFzc2VkLiIpOworICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGV4cGVjdGVkVG9QYXNzKSB7CisgICAgICAgICAgICAgICAgICAgIGxv
ZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBlY3RlZCB0byBwYXNzLCBidXQg
ZmFpbGVkLiIpOworICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgrK3N0YXRlbWVudHMgPT0gVE9UQUxfU1RB
VEVNRU5UUykgeworICAgICAgICAgICAgICAgICAgICBsb2coIlRlc3QgcGFzc2VkLiIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgfQorCisgICAgZGIgPSBvcGVuRGF0YWJhc2UoIkV4ZWN1dGVTUUxBY2NlcHRzT25s
eU9uZVN0YXRlbWVudFRlc3QiLCAiMS4wIiwgIiIsIDEpOworICAgIGRiLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1Qg
RVhJU1RTIFRlc3QgKEZvbyBJTlQpIik7CisgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAg
ICAgbG9nKCJUZXN0IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQo
dHJ1ZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgxKSIpOworICAgICAgICBleGVjdXRlU3Rh
dGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMik7Iik7CisgICAgICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgzKSAgICAi
KTsKKyAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiICAgSU5TRVJUIElOVE8gVGVzdCBW
QUxVRVMgKDQpOyAgICIpOworICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoNSkgICA7Iik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFs
c2UsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoNik7IGdhcmJhZ2UiKTsKKyAgICAgICAgZXhl
Y3V0ZVN0YXRlbWVudChmYWxzZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg3KTsgSU5TRVJU
IElOVE8gVGVzdCBWQUxVRVMgKDgpIik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2Us
ICIgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg5KTsgICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVF
UyAoMTApOyAgICIpOworICAgIH0pOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0icnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCBleGVjdXRlU3FsKCkgZmFp
bHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlk
IHN0YXRlbWVudCBpbiBpdC48YnI+Cis8L2JvZHk+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFn
ZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211
bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQwMTUxNGE2YWVmYjM2MjhlYjAwMzY0Y2IyNjI0YzIwZTBlODkwMDQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2Fy
YmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVzdCBv
cGVucyB0d28gZGF0YWJhc2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3BlcmF0aW9ucyBvbiBi
b3RoLCB0aGVuICJmb3JnZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0ZXIgZm9yY2luZyBHQywg
cmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBn
cmFjZWZ1bGx5LgorRm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCitQZXJz
aXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1n
YXJiYWdlLWNvbGxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDUxYWNmYmI5OWE0MzlkZDgyNDc2
YzE5OTQ5MTY2ODZhOWE2ZjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFi
YXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibXVsdGlwbGUtZGF0YWJhc2Vz
LWdhcmJhZ2UtY29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9InNldHVwQW5k
UnVuVGVzdCgpOyI+CitUaGlzIHRlc3Qgb3BlbnMgdHdvIGRhdGFiYXNlcywgcXVldWVzIHVwIGEg
c2VyaWVzIG9mIG9wZXJhdGlvbnMgb24gYm90aCwgdGhlbiAiZm9yZ2V0cyIgYWJvdXQgb25lIG9m
IHRoZW0uCitBZnRlciBmb3JjaW5nIEdDLCByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoYXQg
ZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVsbHkuPGJyPgorPHByZSBpZD0iY29uc29s
ZSI+IAorRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJh
c2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211
bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWEyYjI3
ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZlZjY0NDIwZDg2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxl
Y3Rpb24uanMKQEAgLTAsMCArMSw1NiBAQAorZnVuY3Rpb24gR0MoKQoreworICAgIC8vIEZvcmNl
IEdDLgorICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAgICAgICBHQ0NvbnRyb2xsZXIu
Y29sbGVjdCgpOworICAgIGVsc2UgeworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAw
OyArK2kpIHsKKyAgICAgICAgICAgICh7IH0pOworICAgICAgICB9CisgICAgfQorfQorCisvLyBW
YXJpYWJsZSBmb3IgdGhlIGRhdGFiYXNlIHRoYXQgd2lsbCBuZXZlciBiZSBmb3Jnb3R0ZW4KK3Zh
ciBwZXJzaXN0ZW50REIgPSAwOworLy8gVmFyaWFibGUgZm9yIHRoZSBmb3Jnb3R0ZW4gZGF0YWJh
c2UKK3ZhciBmb3Jnb3R0ZW5EQiA9IDA7CisKK3ZhciBjb21wbGV0ZWQgPSAwOworZnVuY3Rpb24g
Y2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICBpZiAoKytjb21wbGV0ZWQgPT0gMiAmJiB3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgcGVyc2lzdGVudERCID0g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVEYXRhYmFzZXNUZXN0MSIsICIxLjAiLCAi
VGVzdCBvbmUgb3V0IG9mIGEgc2V0IG9mIGRhdGFiYXNlcyBiZWluZyBkZXN0cm95ZWQgKDEpIiwg
MzI3NjgpOworICAgIGZvcmdvdHRlbkRCID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlw
bGVEYXRhYmFzZXNUZXN0MiIsICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9mIGEgc2V0IG9mIGRhdGFi
YXNlcyBiZWluZyBkZXN0cm95ZWQgKDIpIiwgMzI3NjgpOworCisgICAgcGVyc2lzdGVudERCLnRy
YW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBU
QUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLCBmdW5jdGlvbih0
eCwgcmVzdWx0KSB7IAorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTsgKytpKQor
ICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0IChyYW5k
b21EYXRhKSBWQUxVRVMgKDEpIiwgW10pOworICAgICAgICB9KTsgCisgICAgfSwgZnVuY3Rpb24o
ZXJyKSB7CisgICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBUcmFuc2FjdGlvbiBFcnJv
cmVkIC0gIiArIGVycik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOworICAgIH0sIGZ1bmN0
aW9uKCkgeworICAgICAgICBsb2coIlBlcnNpc3RlbnQgRGF0YWJhc2UgVHJhbnNhY3Rpb24gQ29t
cGxldGUiKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7CisKKyAgICBmb3Jn
b3R0ZW5EQi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3Fs
KCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBFbXB0eVRhYmxlICh1bmltcG9ydGFudERhdGEp
IiwgW10pOworICAgIH0sIGZ1bmN0aW9uKGVycikgeworICAgICAgICBsb2coIkZvcmdvdHRlbiBE
YXRhYmFzZSBUcmFuc2FjdGlvbiBFcnJvcmVkIC0gIiArIGVycik7CisgICAgICAgIGZvcmdvdHRl
bkRCID0gMDsKKyAgICAgICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAg
fSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiRm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0
aW9uIENvbXBsZXRlIik7CisgICAgICAgIGZvcmdvdHRlbkRCID0gMDsKKyAgICAgICAgR0MoKTsK
KyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7Cit9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zZTljMGY2ZTk1YmFmYjhmNTc4MzM2MDk2MTZlZjUyYzcwODk2
MTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1RoaXMgaXMgYSB0
ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0cmFuc2FjdGlv
bnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6CitUcmFuc2FjdGlv
biAxIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCitUcmFuc2FjdGlvbiAyIFN0YXJ0
ZWQKK1RyYW5zYWN0aW9uIDIgU3VjY2VlZGVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2Fj
dGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhNmEy
ZDE3Y2EwNjg3MTc1OTAxYjNlYmJlMDdjYzYyZjhmMmQ2ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVy
ZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGhpcyBpcyBhIHRlc3Qg
dG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQg
aGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRzIGluIGEgZGVhZGxvY2suCitkYjEg
cmVhZCBzdGF0ZW1lbnQgc3VjY2VlZGVkCitkYjEgd3JpdGUgc3RhdGVtZW50IHN1Y2NlZWRlZAor
ZGIxIHRyYW5zYWN0aW9uIHN1Y2NlZWRlZAorZGIyIHJlYWQgc3RhdGVtZW50IHN1Y2NlZWRlZAor
ZGIyIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKK2RiMiB0cmFuc2FjdGlvbiBzdWNjZWVkZWQK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wYTE4YzMyMmMxNWEzNmI0MWIxNDMwNzMyM2U2Mzk2MGFkZTE2MGMxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJtdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRs
ZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3Qo
KTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11bHRpcGxlIHRyYW5z
YWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRz
IGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+IAorRkFJTFVSRTogdGVzdCBk
aWRuJ3QgcnVuLgorPC9wcmU+IAorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1o
YW5kbGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhYjRiOTNlZjgzYTc2Yzdl
NGM5MjQ4MWRmZmYwZTUxNzdmNGFjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMu
anMKQEAgLTAsMCArMSw3OCBAQAordmFyIGNvbXBsZXRlID0gMDsKKworZnVuY3Rpb24gY2hlY2tD
b21wbGV0aW9uKCkKK3sKKyAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5kIGFmdGVyIHR3byB0cmFu
c2FjdGlvbnMKKyAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQor
CisvLyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2FzZQorZnVuY3Rpb24g
b3BlblRlc3REYXRhYmFzZSgpCit7CisgICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgo
Ik11bHRpcGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVzdCIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcgbXVsdGlwbGUgdHJhbnNh
Y3Rpb25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJlc3VsdCBpbiBhIGRlYWRs
b2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3NjgpOworfQorCitm
dW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBzdGF0ZW1lbnRUeXBlKQor
eworICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkIik7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2soZGJOYW1lLCBz
dGF0ZW1lbnRUeXBlLCBlcnJvcikKK3sKKyAgICBsb2coZGJOYW1lICsgIiAiICsgc3RhdGVtZW50
VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworfQorCisvLyBS
dW5zIGEgdHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCitmdW5jdGlvbiBydW5UcmFu
c2FjdGlvbihkYiwgZGJOYW1lLCB2YWwpCit7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKKyAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRlbWVudAorICAgICAgIHR4
LmV4ZWN1dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgW10sCisgICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKGRi
TmFtZSwgInJlYWQiKTsgfSwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJv
cikgeyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQiLCBlcnJvcik7IH0pOwor
CisgICAgICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBtYWtlIHN1cmUgU1FMaXRl
IHRyaWVzIHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhlIERCIGZpbGUKKyAgICAg
ICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPyk7IiwgW3ZhbF0sCisg
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0Nh
bGxiYWNrKGRiTmFtZSwgIndyaXRlIik7IH0sCisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlv
bih0eCwgZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUsICJ3cml0ZSIsIGVy
cm9yKTsgfSk7CisgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgLy8gVHJh
bnNhY3Rpb24gZmFpbHVyZSBjYWxsYmFjaworICAgICAgICAgICBsb2coZGJOYW1lICsgIiB0cmFu
c2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgY2hlY2tDb21w
bGV0aW9uKCk7CisgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgIC8vIFRyYW5zYWN0
aW9uIHN1Y2Nlc3MgY2FsbGJhY2sKKyAgICAgICAgICAgbG9nKGRiTmFtZSArICIgdHJhbnNhY3Rp
b24gc3VjY2VlZGVkIik7CisgICAgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOworICAgICAgIH0p
OworfQorCisvLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBUZXN0IHRhYmxlIGV4aXN0
cyBiZWZvcmUgd2UgcnVuIG91ciB0ZXN0LgorLy8gVGhlcmVmb3JlLCB0aGUgdGVzdCBjb2RlIGlz
IGluIHRoZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9uIHRoYXQgY3JlYXRlcyB0
aGUgdGFibGUuCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHRyeSB7CisgICAgICAgIHZhciBk
YiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKKyAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5v
dCBleGlzdAorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBF
WElTVFMgVGVzdCAoRm9vIGludCk7IiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOworICAgICAgICAgICAg
fSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW5nIHRoZSBU
ZXN0IHRhYmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgfSwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFibGUgd2FzIGNyZWF0ZWQg
c3VjY2Vzc2Z1bGx5CisgICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2Uo
KTsKKyAgICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOworICAgICAg
ICAgICAgICAgIGlmIChkYjEgPT0gZGIyKQorICAgICAgICAgICAgICAgICAgICBsb2coImZhaWx1
cmU6IGRiMSA9PSBkYjIiKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAg
ICAgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7CisgICAgICAgICAgICAgICAgICAg
IHJ1blRyYW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0pOworICAgIH0gY2F0Y2goZXJyKSB7fQorfQorCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzU5NzQ0MDEzOTZlZmRjODc1M2E2MGZiM2U5NDgxMjQyODUwMzRjZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy5o
dG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibXVsdGlwbGUt
dHJhbnNhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxoZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cEFu
ZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHRoZSBkYXRhYmFzZSBBUEkg
YWxsb3dzIG11bHRpcGxlIHRyYW5zYWN0aW9ucyB0byBiZSBxdWV1ZWQgb24gdGhlIHNhbWUgZGF0
YWJhc2UgYXQgb25jZTo8YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlMVVJFOiB0ZXN0IGRp
ZG4ndCBydW4uCis8L3ByZT4gCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODVj
ZGFiY2RiZGQ2NGMzYjRhMWRkNjNmMzUzMTU4Njk2MmNhZDYxOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy5qcwpAQCAt
MCwwICsxLDMyIEBACit2YXIgY29tcGxldGUgPSAwOworCitmdW5jdGlvbiBjaGVja0NvbXBsZXRp
b24oKQoreworICAgIGlmICgrK2NvbXBsZXRlID09IDIgJiYgd2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZm
aXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zVGVzdCIsICIxLjAiLCAiVGVzdCB0byBtYWtlIHN1cmUg
bXVsdGlwbGUgdHJhbnNhY3Rpb25zIGNhbiBiZSBxdWV1ZWQgYXQgb25jZSBmb3IgYW4gSFRNTDUg
ZGF0YWJhc2UiLCAzMjc2OCk7CisKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewor
ICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3RhcnRlZCIpOworICAgIH0sIGZ1bmN0aW9uKGVy
cikgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgRXJyb3JlZCAtICIgKyBlcnIpOworICAg
ICAgICBjaGVja0NvbXBsZXRpb24oKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgbG9n
KCJUcmFuc2FjdGlvbiAxIFN1Y2NlZWRlZCIpOworICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsK
KyAgICB9KTsKKworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxv
ZygiVHJhbnNhY3Rpb24gMiBTdGFydGVkIik7CisgICAgfSwgZnVuY3Rpb24oZXJyKSB7CisgICAg
ICAgIGxvZygiVHJhbnNhY3Rpb24gMiBFcnJvcmVkIC0gIiArIGVycik7CisgICAgICAgIGNoZWNr
Q29tcGxldGlvbigpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBsb2coIlRyYW5zYWN0
aW9uIDIgU3VjY2VlZGVkIik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOworICAgIH0pOwor
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVsbC1jYWxsYmFja3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVsbC1jYWxsYmFja3Mt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMTE2NzUxMDZkODE2OTkxMTE0YWQ5MWM2NjM4MGMy
N2MzN2QzYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9u
dWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVjdCBhbiBvcHRpb25h
bCBjYWxsYmFjay4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L251bGwtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9udWxsLWNh
bGxiYWNrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYTBlMWMzZmZiY2QzMzY2MTBkZmEzN2E1ODc2OWYw
MmM0ODY5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9u
dWxsLWNhbGxiYWNrcy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
fQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHRyeSB7
CisgICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiTnVsbENhbGxiYWNrcyIsICIxLjAiLCAi
VGVzdCBmb3IgbnVsbCBjYWxsYmFja3MuIiwgMSk7CisgICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYg
Tk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIsIG51bGwpOworICAgICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKD8pIiwgWzFdLCBudWxsLCBudWxsKTsKKyAg
ICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFsy
XSwgbnVsbCk7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZB
TFVFUyAoMykiLCBudWxsLCBudWxsLCBudWxsKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs0XSwgbnVsbCwKKyAgICAgICAgICAgICAg
ICBmdW5jdGlvbih0eCwgZXJyb3IpIHt9KTsKKyAgICAgICAgfSwgbnVsbCwgbnVsbCk7CisKKyAg
ICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs1XSk7CisgICAgICAgIH0sIG51
bGwsIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOworICAgIH0gY2F0Y2goZXJyKSB7Cisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MID0gIkZB
SUwiOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVh
ZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0ICdu
dWxsJyBjYW4gYmUgdXNlZCB3aGVyZXZlciB3ZSBleHBlY3QgYW4gb3B0aW9uYWwgY2FsbGJhY2su
Cis8cHJlIGlkPSJjb25zb2xlIj5QQVNTPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24t
Y2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1k
YXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjJmM2Zj
YjZiYWRkYTEzMDUxNTI4OTZlNDhhMmExMDUzM2QyY2IxNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdFOiB1bmFibGUgdG8g
b3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJzEuMCcgZG9lcyBub3QgbWF0Y2ggdGhl
IGN1cnJlbnRWZXJzaW9uIG9mICcnCitUaGlzIHRlc3QgdGVzdHMgb3BlbkRhdGFiYXNlKCkncyBj
cmVhdGlvbiBjYWxsYmFjay4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9u
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYTk2YTY3
NTRkOGRmNTc0MDBjZTQ2YzlkY2NhMjNlNWM0Mjc1ODQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitBTEVSVDogdW5kZWZp
bmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNr
IGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSBvcGVuRGF0
YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNy
ZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOThhNDY2NGJlMjBmZmZjNWJkODk5OWVmNDQ4N2JmYWIwZWY1Y2I0MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJh
c2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0
aGUgb3BlbkRhdGFiYXNlKCkgY3JlYXRpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdo
dCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBjcmVhdGlv
bkNhbGxiYWNrc0V4ZWN1dGVkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKytj
cmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKQoreworICAgIGFsZXJ0KCJGQUlMOiBWaXNp
YmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKworZnVuY3Rpb24gY3Jl
YXRpb25DYWxsYmFjazIoZGIpCit7CisgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOworICAg
IGRvbmUoKTsKK30KKworZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5m
b28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOworZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFT
UzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhp
cyB3b3JsZC4iOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRl
ZFdvcmxkKAorICAgICAgICAwLAorICAgICAgICAiZnVuY3Rpb24gY3JlYXRpb25DYWxsYmFjazEo
ZGIpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJv
ZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpk
b25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0
YWJhc2UoJ09wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxkJywgJzEuMCcs
ICcnLCAxLCBjcmVhdGlvbkNhbGxiYWNrMSk7Iik7CisKKyAgICB2YXIgZGIyID0gb3BlbkRhdGFi
YXNlKCdPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywg
JycsIDEsIGNyZWF0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1j
cmVhdGlvbi1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1k
YXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MTY0NWM0NWVlNzRk
NGI2MWFhMDE5ODAzNGE5NGE4ZDRhN2UzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwKQEAg
LTAsMCArMSw5MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVz
c2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
c2V0RGF0YWJhc2VRdW90YSgzMjc2OCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBEYXRhYmFzZUNhbGxiYWNrcygpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICB9CisKKyAgICB2YXIgdHJhbnNhY3Rpb25zUnVuID0gMDsKKworICAgIC8vIE9wZW4gYSBu
ZXcgZGF0YWJhc2Ugd2l0aCBhIGNyZWF0aW9uIGNhbGxiYWNrLCBhbmQgbWFrZSBzdXJlIHRoZSBj
cmVhdGlvbiBjYWxsYmFjayBpcyBxdWV1ZWQKKyAgICB2YXIgY3JlYXRpb25DYWxsYmFja0NhbGxl
ZDEgPSBmYWxzZTsKKyAgICB2YXIgZGIxTmFtZSA9ICJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxi
YWNrMSIgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgpOworICAgIHZhciBkYjEgPSBvcGVuRGF0YWJh
c2UoZGIxTmFtZSwgIjEuMCIsICIiLCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24oZGIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGlvbkNhbGxi
YWNrQ2FsbGVkMSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRi
LnZlcnNpb24gIT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9n
KCJDcmVhdGlvbiBjYWxsYmFjayB3YXMgY2FsbGVkIHdpdGggYSBkYXRhYmFzZSB3aXRoIHZlcnNp
b24gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYi52ZXJzaW9u
ICsgIjsgZW1wdHkgc3RyaW5nIGV4cGVjdGVkLiIpOworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAvLyBQdXR0aW5nIHRoaXMg
Y29kZSBpbnNpZGUgYSB0cmFuc2FjdGlvbiBvbiAnZGIxJyBtYWtlcyBzdXJlIHRoYXQgaXQgaXMg
ZXhlY3V0ZWQgYWZ0ZXIKKyAgICAvLyB0aGUgY3JlYXRpb24gY2FsbGJhY2sgaXMuCisgICAgZGIx
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmICghY3JlYXRpb25DYWxsYmFj
a0NhbGxlZDEpIHsKKyAgICAgICAgICAgIGxvZygiQ3JlYXRpb24gY2FsbGJhY2sgZm9yIGRiMSB3
YXMgbm90IGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgfQor
ICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0gMikKKyAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKKyAgICB9KTsKKworICAgIC8vIFRyeSB0byBvcGVuIGFub3RoZXIgaGFuZGxlIHRvIHRo
ZSBzYW1lIGRhdGFiYXNlLgorICAgIC8vIFNpbmNlIHRoZSB2ZXJzaW9uIG9mIHRoaXMgZGF0YWJh
c2UgaXMgIiIgKGVtcHR5IHN0cmluZyksIG9wZW5EYXRhYmFzZSgpIHNob3VsZCByZXR1cm4KKyAg
ICAvLyBhIG51bGwgaGFuZGxlIGFuZCB0aHJvdyBhIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlv
bi4KKyAgICB2YXIgZGIxRmFpbCA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgZGIxRmFpbCA9
IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEpOworICAgICAgICBsb2coIlRoaXMg
c3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkOyBhbiBJTlZBTElEX1NUQVRF
X0VSUiBleGNlcHRpb24gc2hvdWxkJ3ZlIGJlZW4gdGhyb3duLiIpOworICAgICAgICBmaW5pc2hU
ZXN0KCk7CisgICAgfSBjYXRjaChlcnIpIHsKKyAgICAgICAgaWYgKGRiMUZhaWwpIHsKKyAgICAg
ICAgICAgIGxvZygiZGIxRmFpbCBzaG91bGQgaGF2ZSBiZWVuIG51bGwuIik7CisgICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBPcGVuIGEgaGFuZGxl
IHRvIGFub3RoZXIgZGF0YWJhc2UsIGZpcnN0IHdpdGhvdXQgYSBjcmVhdGlvbiBjYWxsYmFjaywg
dGhlbiB3aXRoIG9uZS4KKyAgICAvLyBNYWtlIHN1cmUgdGhlIGNyZWF0aW9uIGNhbGxiYWNrIGlz
IG5vdCBjYWxsZWQuCisgICAgdmFyIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyID0gZmFsc2U7Cisg
ICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3BlbkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFjazIi
LCAiMS4wIiwgIiIsIDEpOworICAgIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3BlbkRhdGFiYXNlQ3Jl
YXRpb25DYWxsYmFjazIiLCAiMS4wIiwgIiIsIDEsCisgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKGRiKSB7IGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyID0gdHJ1ZTsgfSk7CisgICAgZGIy
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmIChjcmVhdGlvbkNhbGxiYWNr
Q2FsbGVkMikgeworICAgICAgICAgICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFjayBmb3IgZGIyIHNo
b3VsZCBub3QgaGF2ZSBiZWVuIGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsK
KyAgICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0gMikKKyAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KK1RoaXMgdGVzdCB0ZXN0cyBvcGVuRGF0YWJhc2UoKSdz
IGNyZWF0aW9uIGNhbGxiYWNrLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3ByZT4KKzwvYm9keT4K
KworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1k
YXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzJlMmZmYzMwZDRhNDY1YmRkZWJjOTliZjAzNjc5NTk5ZWY5OGZmNwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVy
c2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUaGlzIHRlc3RzIHRoYXQgY2FsbGlu
ZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmluZyBkb2VzIG5vdCBjYXVz
ZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgorU1VDQ0VTUyEgRGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2MDQxMTM4M2YxOGNm
ODBjOWM0YWQ4MzhmNzE1NDliNjljNjY3NmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbApAQCAtMCww
ICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAKKyAgICB0cnkgeyAgICAKKyAgICAgICAg
dmFyIGRiID0gb3BlbkRhdGFiYXNlKCc1NTYyNDcwVGVzdCcsICcnLCAnVGVzdCBmb3IgPHJkYXI6
Ly9wcm9ibGVtLzU1NjI0NzA+IG9wZW5EYXRhYmFzZSBkb2VzIG5vdCB3b3JrIHdoZW4gdGhlIHZl
cnNpb24gc3RyaW5nIGlzIGVtcHR5JywgMSk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ0ZBSUxVUkUnCisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZl
cnNpb24gc3RyaW5nIGRvZXMgbm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24uCis8
ZGl2IGlkPSJyZXN1bHQiPgorU1VDQ0VTUyEgRGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uCis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFhZThkYjZiMzcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92
ZXItcXVvdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorVGhpcyB0ZXN0cyB0aGF0IGNh
bGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNuJ3QgYXNzZXJ0IG9u
IGRlYnVnIGJ1aWxkcy4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmE5MjY0ZGUz
M2RmMTE3NDQ5YjRjM2U1M2E2N2NmZWY5NjQ0MWJmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sCkBAIC0w
LDAgKzEsMjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAgICB2YXIg
ZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4nLCAnJywgJ1Rlc3QgZm9yIGJ1ZyAzNjQ3
MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNyZWF0aW5nRGF0YWJhc2UnLCAxMDAwMDAw
MCk7CisgICAgfSBjYXRjaCAoZXJyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGhpcyB0ZXN0cyB0aGF0IGNhbGxp
bmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNuJ3QgYXNzZXJ0IG9uIGRl
YnVnIGJ1aWxkcy4KKzxkaXYgaWQ9InJlc3VsdCI+CitGQUlMOiBXZSBzaG91bGRuJ3QgaGF2ZSBi
ZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0
LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
b3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDFkOTk2MDM0NGNmNTA4NDJmN2ZlOTU4ZWU3YzZkZTI3NjRiMmRmOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZl
cnNpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdFOiB1bmFi
bGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJ3Rlc3QnIGRvZXMgbm90IG1h
dGNoIHRoZSBjdXJyZW50VmVyc2lvbiBvZiAnJworVGhpcyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3Bl
bkRhdGFiYXNlIHdpdGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0cyB0aGUgY3VycmVudCB2
ZXJzaW9uIG9mIHRoYXQgZGF0YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmluZyBhbmQgc3Vic2VxdWVu
dCBhdHRlbXB0cyB0byBvcGVuIHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlmZmVyZW50IGV4cGVjdGVk
IHZlcnNpb24gdGhyb3cgYW4gZXhjZXB0aW9uLgorU1VDQ0VTUywgYW4gZXhjZXB0aW9uIHdhcyB0
aHJvd24uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAxMQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHkt
dmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1z
ZXQtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNjA3ZmQxOWM5ZDc4NTFkMmEwZWZh
NDNlMzUwNDBhYzk5ZWRmNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwKQEAgLTAsMCArMSwy
NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVh
ckFsbERhdGFiYXNlcygpOworICAgIH0KKyAgICAKKyAgICB0cnkgeyAgICAKKyAgICAgICAgdmFy
IGRiID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3QnLCAnJywgJ1Rlc3QgZm9yIGJ1ZyAyODQxNzog
b3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVyc2lvbiB1cCBpbmNv
cnJlY3RseScsIDApOworICAgICAgICAvLyBUaGUgbmV4dCBvcGVuRGF0YWJhc2UgY2FsbCBzaG91
bGQgZmFpbCBiZWNhdXNlIHRoZSBkYXRhYmFzZSB2ZXJzaW9uIHdhcyBzZXQgdG8gJycgYnkgdGhl
IGNhbGwgYWJvdmUsIGFuZCBub3cgd2UgYXJlIGV4cGVjdGluZyBhIGRpZmZlcmVudCB2ZXJzaW9u
LgorICAgICAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3QnLCAndGVzdCcsICdU
ZXN0IGZvciBidWcgMjg0MTc6IG9wZW5EYXRhYmFzZSgpIHdpdGggZW1wdHkgdmVyc2lvbiBzZXRz
IGRiIHZlcnNpb24gdXAgaW5jb3JyZWN0bHknLCAwKTsKKyAgICB9IGNhdGNoIChlKSB7CisgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnU1VDQ0VT
UywgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uICcgKyBlOworICAgIH0KK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5UaGlzIHRlc3RzIHRoYXQg
Y2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmluZyBzZXRzIHRo
ZSBjdXJyZW50IHZlcnNpb24gb2YgdGhhdCBkYXRhYmFzZSB0byB0aGUgZW1wdHkgc3RyaW5nIGFu
ZCBzdWJzZXF1ZW50IGF0dGVtcHRzIHRvIG9wZW4gdGhlIGRhdGFiYXNlIHdpdGggYSBkaWZmZXJl
bnQgZXhwZWN0ZWQgdmVyc2lvbiB0aHJvdyBhbiBleGNlcHRpb24uPC9kaXY+Cis8ZGl2IGlkPSJy
ZXN1bHQiPgorRkFJTFVSRSAtIGFuIGV4Y2VwdGlvbiB3YXMgZXhwZWN0ZWQuCis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlv
bi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNhYzhhZmNlYmUxMWQ2MTA3
ZWU4ZDhlNzY4NDFiMzU2YWJlMDM2MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIG9w
ZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcgb24gYSBkaWZm
ZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay4K
K29wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFu
c2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwN2ExYTQ1YzljMjM0OTU0YmUy
ZTAwOTdlOTA3OWI2NTQ3NzFjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJvcGVuLWRhdGFi
YXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KK1RoaXMgaXMgYSB0ZXN0IHRvIHNl
ZSBpZiBvcGVuaW5nIGEgZGF0YWJhc2Ugd2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nIG9u
IGEgZGlmZmVyZW50IGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRzIGluIGEgZGVh
ZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4u
Cis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0
aW9uLWluLXByb2dyZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMWEwYzAxNGUyMzY1OTBlNzY0NDBhN2E0
N2EwNGQwMTY0Y2EzYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCkBAIC0w
LDAgKzEsNDEgQEAKKy8vIE9wZW5zIHRoZSBkYXRhYmFzZSB1c2VkIGluIHRoaXMgdGVzdCBjYXNl
CitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1cm4gb3BlbkRhdGFiYXNl
V2l0aFN1ZmZpeCgiT3BlbkRhdGFiYXNlV2hpbGVUcmFuc2FjdGlvbkluUHJvZ3Jlc3NUZXN0IiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBjYWxsaW5nIG9wZW5E
YXRhYmFzZSgpIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMgaW4gcHJvZ3Jlc3Mgb24gYSBkaWZmZXJl
bnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvZXMgbm90IHJlc3VsdCBpbiBhIGRlYWRs
b2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjEwMDAwMCk7IC8vIDJN
QiArIGVwc2lsb24KK30KKworLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yODIwNworLy8gSW4gb3JkZXIgdG8gdHJpZ2dlciB0aGlzIGJ1ZywgdGhlIHRyYW5z
YWN0aW9uIG11c3QgYWNxdWlyZSBhbiBleGNsdXNpdmUKKy8vIGxvY2sgb24gdGhlIERCIGZpbGUg
YmVmb3JlIHRyeWluZyB0byBvYnRhaW4gYSBzZWNvbmQgaGFuZGxlIHRvIHRoZSBzYW1lIERCLgor
Ly8gVGhlIG9ubHkgd2F5IHRvIGZvcmNlIFNRTGl0ZSB0byBvYnRhaW4gYW4gZXhjbHVzaXZlIGxv
Y2sgaXMgdG8gY2hhbmdlIG1vcmUKKy8vIHRoYW4gY2FjaGVfc2l6ZSAqIHBhZ2Vfc2l6ZSBieXRl
cyBpbiB0aGUgZGF0YWJhc2UuIFRoZSBkZWZhdWx0IHZhbHVlIGZvcgorLy8gY2FjaGVfc2l6ZSBp
cyAyMDAwIHBhZ2VzLCBhbmQgdGhlIGRlZmF1bHQgcGFnZV9zaXplIGlzIDEwMjQgYnl0ZXMuIFNv
IHRoZQorLy8gc2l6ZSBvZiB0aGUgYmxvYiBtdXN0IGJlIGF0IGxlYXN0IDJNQi4KK2Z1bmN0aW9u
IHJ1blRlc3QoKQoreworICAgIHZhciBkYjEgPSBvcGVuVGVzdERhdGFiYXNlKCk7CisgICAgZGIx
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0
YWJsZSBpZiBpdCBkb2VzIG5vdCBleGlzdAorICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUg
VEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gQkxPQik7Iik7CisgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTIChaRVJPQkxPQigyMDk3MTUyKSk7IiwgW10s
CisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGxvZygib3BlbkRhdGFiYXNlKCkgc3VjY2VlZGVkLiIpOworICAgICAgICAg
ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9y
KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygiRXhlY3V0aW5nIHN0YXRlbWVudCBm
YWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAgICAgICB9KTsKKwor
ICAgICAgICAvLyBDbGVhbiB1cCB0aGUgREIgdG8gYWxsb3cgZm9yIHJlcGVhdGVkIHJ1bnMgb2Yg
dGhpcyB0ZXN0CisgICAgICAgIC8vIHdpdGhvdXQgbmVlZGluZyB0byBpbmNyZWFzZSB0aGUgZGVm
YXVsdCBhbGxvd2VkIHF1b3RhICg1TUIpCisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRFTEVURSBG
Uk9NIFRlc3Q7Iik7CisgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgbG9nKCJUcmFu
c2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICB9LCBmdW5jdGlvbigpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKK30KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3Jp
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93
c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFmNjdkMmZhYzRm
MjZlNmYyZDcyODAwNjg4MGQyZjVmZjUzMjkwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1w
dHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBkdXJpbmcgcHJpdmF0ZSBicm93c2luZyBmYWlsLgor
U2V0dXAgc3RhdGVtZW50IDEgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorU2V0dXAgc3RhdGVtZW50
IDIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMSBj
b21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5v
dCBhdXRob3JpemVkKQorUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMiBjb21wbGV0ZWQgd2l0
aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKK1ByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50IDMgY29tcGxldGVkIHdpdGggYW4gZXJyb3IK
K2NvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitQcml2YXRl
IGJyb3dzaW5nIHN0YXRlbWVudCA0IGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCitjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorUHJpdmF0ZSBicm93c2luZyBz
dGF0ZW1lbnQgNSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgyMyBhY2Nlc3MgdG8gUHJpdmF0ZVRlc3QxLnJhbmRvbURhdGEgaXMgcHJvaGliaXRl
ZCkKK1Rlc3QgZW5kZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
cHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI5YjU4ODJiNGRlMWM1NjIwNjRjNWU4NDc3MDEwNjk3OWEwMWZjMTUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1u
b3dyaXRlLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
CitmdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOworfQor
Cit2YXIgc2V0dXBTdGF0ZW1lbnRzID0gWworICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNU
UyBQcml2YXRlVGVzdDEgKHJhbmRvbURhdGEpIiwKKyAgICAiSU5TRVJUIElOVE8gUHJpdmF0ZVRl
c3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiCitdOworCit2YXIgcHJpdmF0ZUJyb3dzaW5nU3RhdGVt
ZW50cyA9IFsKKyAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUHJpdmF0ZVRlc3QyIChy
YW5kb21EYXRhKSIsCisgICAgIkRFTEVURSBGUk9NIFByaXZhdGVUZXN0MSIsCisgICAgIkRST1Ag
VEFCTEUgUHJpdmF0ZVRlc3QxIiwKKyAgICAiSU5TRVJUIElOVE8gUHJpdmF0ZVRlc3QxIFZBTFVF
UyAoJ3NvbWVkYXRhJykiLAorICAgICJTRUxFQ1QgKiBGUk9NIFByaXZhdGVUZXN0MSIKK107CisK
K3ZhciBjb21wbGV0ZWQgPSAwOwordmFyIHRoZVRyYW5zYWN0aW9uOworCitmdW5jdGlvbiBzZXR1
cFN1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQoreworICAgICsrY29tcGxldGVkOworICAgIHdy
aXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBsZXRlZCArICIgY29tcGxl
dGVkIHN1Y2Nlc3NmdWxseSIpOworICAgIGNoZWNrU2V0dXBDb21wbGV0ZSgpOworfQorCitmdW5j
dGlvbiBzZXR1cEVycm9yRnVuY3Rpb24odHgsIGVycm9yKQoreworICAgICsrY29tcGxldGVkOwor
ICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBsZXRlZCArICIg
Y29tcGxldGVkIHdpdGggYW4gZXJyb3JcbiIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBjaGVja1Nl
dHVwQ29tcGxldGUoKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dzaW5nU3VjY2Vzc0Z1bmN0
aW9uKHR4LCByZXN1bHQpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3JpdGVNZXNzYWdlVG9M
b2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRl
ZCBzdWNjZXNzZnVsbHkiKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5j
dGlvbih0eCwgZXJyb3IpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3JpdGVNZXNzYWdlVG9M
b2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRl
ZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2FnZSk7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitmdW5jdGlvbiBydW5TZXR1cCh0cmFuc2FjdGlvbikKK3sKKyAgICB0aGVUcmFuc2FjdGlv
biA9IHRyYW5zYWN0aW9uOworICAgIGZvciAoaSBpbiBzZXR1cFN0YXRlbWVudHMpCisgICAgICAg
IHRoZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoc2V0dXBTdGF0ZW1lbnRzW2ldLCBbXSwgc2V0dXBT
dWNjZXNzRnVuY3Rpb24sIHNldHVwRXJyb3JGdW5jdGlvbik7Cit9CisKK2Z1bmN0aW9uIGNoZWNr
U2V0dXBDb21wbGV0ZSgpCit7CisgICAgaWYgKGNvbXBsZXRlZCA9PSBzZXR1cFN0YXRlbWVudHMu
bGVuZ3RoKQorICAgICAgICBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpOworfQorCitmdW5jdGlv
biBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCit7CisgICAgY29tcGxldGVkID0gMDsKKworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgCisgICAgZm9yIChp
IGluIHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHMpCisgICAgICAgIHRoZVRyYW5zYWN0aW9uLmV4
ZWN1dGVTcWwocHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50c1tpXSwgW10sIHByaXZhdGVCcm93c2lu
Z1N1Y2Nlc3NGdW5jdGlvbiwgcHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5jdGlvbik7Cit9CisKK2Z1
bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJUZXN0IGVuZGVkIik7
CisgICAgCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkK
K3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRh
YmFzZSgiUHJpdmF0ZUJyb3dzaW5nTm9SZWFkTm9Xcml0ZVRlc3QiLCAiMS4wIiwgIlRlc3QgcHJp
dmF0ZSBicm93c2luZyBubyByZWFkL3dyaXRlIHNhZmV0eSIsIDEpOworICAgIGRhdGFiYXNlLnRy
YW5zYWN0aW9uKHJ1blNldHVwLCBlbmRUZXN0LCBlbmRUZXN0KTsKK30KKworPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFiYXNlIGR1cmluZyBwcml2YXRlIGJyb3dz
aW5nIGZhaWwuPGJyPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NjBmMGMwNGRkNzU2ZmM4ZDQ3NGIzNzliZTNhNWZj
N2Y3Y2U4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3F1
b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitVSSBERUxFR0FURSBE
QVRBQkFTRSBDQUxMQkFDSzogZXhjZWVkZWREYXRhYmFzZVF1b3RhRm9yU2VjdXJpdHlPcmlnaW46
e2ZpbGUsICwgMH0gZGF0YWJhc2U6UXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyCitUaGlzIHRlc3Qg
Y2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5mb3JjZWQgcGVyLW9yaWdpbiBp
bnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHByaW9yIHRvIGh0dHA6Ly90cmFj
LndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8yOTk4My4KK1RoZSB0ZXN0IGNs
ZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3IgdGhlIG9yaWdpbiB0byA0MGss
IHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8gdHdvIGRhdGFiYXNlcy4gSWYg
dGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0IHNob3VsZCBmYWlsLCB0aGUg
VUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBleGNlZWRlZCBxdW90YSBhbmQg
c2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmlnaW4uIEluc2VydGluZyAxN2sg
b2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBhZ2Fpbi4KK0FkZGluZyBhIHRh
YmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJs
ZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEgZXhjZXB0aW9uIC0gdGhlcmUg
d2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRoZSBzdG9yYWdlIHF1
b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxvdyBtb3JlIHNwYWNl
CitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQor
RG9uZSBhZGRpbmcgZGF0YQorVGVzdCBDb21wbGV0ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTUyNTIzYjE2M2YwNTQ1
NTg4YTg4ZWIxMzEwYmRmZDhjNjYyM2ExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApAQCAtMCwwICsxLDExMyBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cit2YXIgZGF0YWJhc2UxID0gbnVsbDsKK3ZhciBkYXRhYmFz
ZTIgPSBudWxsOwordmFyIGRhdGFiYXNlMyA9IG51bGw7CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdl
KQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9
IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGxv
ZygiVGVzdCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rp
b24gc3RhdGVtZW50RXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAgbG9nKCJVbmV4cGVj
dGVkIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hUZXN0KCk7Cit9
CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJyb3IpCit7CisgICAg
Ly8gV2Ugb25seSBleHBlY3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgZGF0YWJhc2UyCisgICAgaWYg
KGRiID09IGRhdGFiYXNlMikgeworICAgICAgICBsb2coIkV4cGVjdGVkIHF1b3RhIGV4Y2VwdGlv
biAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gIiArIGVycm9y
Lm1lc3NhZ2UpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCitmdW5jdGlvbiBj
aGVja0NvbXBsZXRpb24oZGIpCit7CisgICAgbG9nKCJEb25lIGFkZGluZyBkYXRhIik7CisKKyAg
ICBpZiAoZGF0YWJhc2UzKSB7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9IGVsc2UgaWYg
KGRhdGFiYXNlMikgeworICAgICAgICBkYXRhYmFzZTMgPSBvcGVuRGF0YWJhc2UoIlF1b3RhTWFu
YWdlbWVudERhdGFiYXNlMyIsICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdlbWVudCA8cmRh
cjovLzU2Mjg0Njg+IiwgMSk7CisgICAgICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTMpOworICAg
IH0gZWxzZSB7CisgICAgICAgIGRhdGFiYXNlMiA9IG9wZW5EYXRhYmFzZSgiUXVvdGFNYW5hZ2Vt
ZW50RGF0YWJhc2UyIiwgIjEuMCIsICJUZXN0IGZvciBxdW90YSBtYW5hZ2VtZW50IDxyZGFyOi8v
NTYyODQ2OD4iLCAxKTsKKyAgICAgICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMik7CisgICAgfQor
fQorCitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOworICAgICAgICB0eC5l
eGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFMVUVTIChaRVJP
QkxPQigxNzQwOCkpIiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJl
c3VsdCkgeyB9LCBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsKKyAgICAgICAgaWYgKGRiID09IGRh
dGFiYXNlMikgeworICAgICAgICAgICAgLy8gVHJ5IHRvIHJ1biB0aGlzIHN0YXRlbWVudCBvbiAn
ZGF0YWJhc2UyJyBvbmx5LgorICAgICAgICAgICAgLy8gSXQgc2hvdWxkIG5vdCBiZSBydW4sIGJl
Y2F1c2UgdGhlIHByZXZpb3VzIHN0YXRlbWVudCBzaG91bGQndmUKKyAgICAgICAgICAgIC8vIHJl
c3VsdGVkIGluIGEgZmFpbHVyZSB0aGF0IG1hZGUgc3FsaXRlIHJvbGwgYmFjayB0aGUgZW50aXJl
IHRyYW5zYWN0aW9uLgorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0
YVRlc3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoWkVST0JMT0IoMTApKSIsIFtdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBsb2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIHJ1
bi4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7CisgICAgICAg
IH0KKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICB0cmFuc2FjdGlvbkVycm9yRnVu
Y3Rpb24oZGIsIGVycm9yKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgY2hlY2tDb21w
bGV0aW9uKGRiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdERhdGFiYXNlKGRiKQorewor
ICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxvZygiQWRkaW5nIGEg
dGFibGUiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0IChy
YW5kb21EYXRhKSIsIFtdLAorICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1
bHQpIHsgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7CisgICAgfSwgZnVuY3Rpb24oZXJyb3Ip
IHsKKyAgICAgICAgdHJhbnNhY3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBlcnJvcik7CisgICAgfSwg
ZnVuY3Rpb24oKSB7CisgICAgICAgIGFkZERhdGEoZGIpOworICAgIH0pOworfQorCitmdW5jdGlv
biBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDQwOTYwKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZGF0YWJhc2UxID0gb3BlbkRhdGFi
YXNlKCJRdW90YU1hbmFnZW1lbnREYXRhYmFzZTEiLCAiMS4wIiwgIlRlc3QgZm9yIHF1b3RhIG1h
bmFnZW1lbnQgPHJkYXI6Ly81NjI4NDY4PiIsIDEpOworICAgIHRlc3REYXRhYmFzZShkYXRhYmFz
ZTEpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2Vk
IHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0
byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMu
PGJyPgorVGhlIHRlc3QgY2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0
aGUgb3JpZ2luIHRvIDQwaywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0
d28gZGF0YWJhc2VzLiBJZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQg
c2hvdWxkIGZhaWwsIHRoZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4
Y2VlZGVkIHF1b3RhIGFuZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdp
bi4gSW5zZXJ0aW5nIDE3ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFn
YWluLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3ByZT4KKzwvYm9keT4KKworPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNh
Y3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4OTc5YzNjYjUwN2Q5MjAwMDU3N2Y4ZmZjYzc3MDQ3
ZjIxNTdkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Jl
YWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJh
bnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvbid0
IHJ1biB0b2dldGhlci4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNj
ZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwu
CitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5z
YWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24g
c3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1
bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3Jp
dGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTFkYTM1
Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBmOGZjOTg1NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250
LXJ1bi10b2dldGhlci5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KK1Ro
aXMgdGVzdCB0ZXN0cyB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJl
bnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBkb24ndCBydW4gdG9nZXRoZXIuPGJyPgor
PHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Jl
YWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10
b2dldGhlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjgxN2JhZDMzMDczNzFkN2FkMTk5YjQwYmYxMTliNWIw
NTYzN2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVh
ZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpzCkBAIC0wLDAgKzEs
ODEgQEAKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKworZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7CisgICAgcmV0dXJuIG9wZW5E
YXRhYmFzZVdpdGhTdWZmaXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9uc0RvbnRSdW5Ub2dldGhl
clRlc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHJlYWQg
YW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2Ft
ZSBEQiBkb24ndCBydW4gYXQgdGhlIHNhbWUgdGltZS4iLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDMyNzY4KTsKK30KKwordmFyIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNz
ID0gMDsKK3ZhciB3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwordmFyIHRvdGFsVHJh
bnNhY3Rpb25zID0gMDsKK3ZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7CisKK2Z1bmN0aW9u
IHJ1blRyYW5zYWN0aW9uKGRiLCByZWFkT25seSkKK3sKKyAgICB2YXIgdHJhbnNhY3Rpb25GdW5j
dGlvbiA9IChyZWFkT25seSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRiLnRyYW5zYWN0aW9uKTsK
KyAgICB0cmFuc2FjdGlvbkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9uKHR4KSB7CisgICAgICAg
ICAgICBpZiAocmVhZE9ubHkpIHsKKyAgICAgICAgICAgICAgICBpZiAod3JpdGVUcmFuc2FjdGlv
bnNJblByb2dyZXNzICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJSZWFkIHRyYW5z
YWN0aW9uIHN0YXJ0aW5nIHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGluIHByb2dyZXNzLiIpOwor
ICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICgocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jl
c3MgIT0gMCkgfHwgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAwKSkgeworICAgICAg
ICAgICAgICAgICAgICBsb2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIGFub3Ro
ZXIgdHJhbnNhY3Rpb24gaW4gcHJvZ3Jlc3MuIik7CisgICAgICAgICAgICAgICAgICAgIHRlcm1p
bmF0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgd3JpdGVUcmFu
c2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB0eC5leGVj
dXRlU3FsKCJTRUxFQ1QgKiBGUk9NIFRlc3Q7Iik7CisgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9y
KSB7CisgICAgICAgICAgICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDogIldyaXRlIikgKyAiIHRy
YW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgdGVybWlu
YXRlVGVzdCgpOworICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICBmaW5pc2hl
ZFRyYW5zYWN0aW9ucysrOworICAgICAgICAgICAgIGlmIChyZWFkT25seSkKKyAgICAgICAgICAg
ICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKKyAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOworICAgICAgICAg
ICAgIGxvZygiVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4iKTsKKyAgICAgICAgICAgICBpZiAoKGZp
bmlzaGVkVHJhbnNhY3Rpb25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAmJiAocmVhZFRyYW5zYWN0
aW9uc0luUHJvZ3Jlc3MgPT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAw
KSkKKyAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICB9KTsKK30KKwor
ZnVuY3Rpb24gcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpCit7Cisg
ICAgdG90YWxUcmFuc2FjdGlvbnMgPSAxMDsKKyAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7
CisgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKKyAgICBydW5UcmFuc2FjdGlvbihkYjIs
IHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOworICAgIHJ1blRyYW5zYWN0
aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0cnVlKTsKKyAgICBydW5U
cmFuc2FjdGlvbihkYjMsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwor
ICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgZmFsc2UpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwg
dHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKK30KKworZnVuY3Rpb24gcnVu
VGVzdCgpIHsKKyAgICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOworICAgIHZhciBkYjIg
PSBvcGVuVGVzdERhdGFiYXNlKCk7CisgICAgdmFyIGRiMyA9IG9wZW5UZXN0RGF0YWJhc2UoKTsK
KyAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBpbnQpOyIpOworICAg
ICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9nKCJDYW5ub3QgY3JlYXRl
IHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgcnVuUmVhZEFu
ZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpOworICAgICAgICB9KTsKK30KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5p
bmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNThkMmRmZTZhYmIxYTMxNDU3ZWI1MTc5ZWRmNGNmMDAwODFmNjg1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMt
cnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyB0
ZXN0IHRlc3RzIHRoYXQgdHdvIHJlYWQtb25seSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhh
bmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcnVuIGNvbmN1cnJlbnRseS4KK1JlYWQgdHJhbnNh
Y3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1j
b25jdXJyZW50bHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmQ4NjJjMWU2Y2U4MjRmNDA4ODU4NTg0Yjk1
ODcxOWI5NWNjMGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbApAQCAtMCwwICsx
LDY3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2Up
Cit7CisgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKK30K
KworZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
fQorCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1cm4gb3BlbkRhdGFi
YXNlKCJSZWFkVHJhbnNhY3Rpb25zUnVubmluZ0NvbmN1cnJlbnRseVRlc3QiLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAgICAgICAgICAgICAiVGVzdCB0byBt
YWtlIHN1cmUgdGhhdCBtdWx0aXBsZSByZWFkIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIg
aGFuZGxlcyB0byB0aGUgc2FtZSBEQiBydW4gY29uY3VycmVudGx5LiIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAzMjc2OCk7Cit9CisKK3ZhciByZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9
IDA7CisKK2Z1bmN0aW9uIHJ1blJlYWRUcmFuc2FjdGlvbihkYikKK3sKKyAgICBkYi5yZWFkVHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblBy
b2dyZXNzKys7CisgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICBsb2co
IlJlYWQgdHJhbnNhY3Rpb24gZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAgICAg
ICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
aWYgKHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID09IDIpCisgICAgICAgICAgICAgICAgbG9n
KCJSZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRseS4iKTsKKyAgICAgICAgICAg
IHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzLS07CisgICAgICAgICAgICBpZiAocmVhZFRyYW5z
YWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkKKyAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7
CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2Uo
KTsKKyAgICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgZGIxLnRy
YW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
Q1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7Iik7CisgICAgICAgICAg
ICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAgIGxvZygiQ2Fubm90IGNyZWF0
ZSB0aGUgVGVzdCB0YWJsZTogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgICAgIHRl
cm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ICAgIHJ1blJlYWRUcmFuc2FjdGlvbihkYjEpOworICAgICAgICAgICAgICAgIHJ1blJlYWRUcmFu
c2FjdGlvbihkYjIpOworICAgICAgICAgICAgfSk7CisgICAgIH0gY2F0Y2goZXJyKSB7IGxvZyhl
cnIpOyB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+
CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0d28gcmVhZC1vbmx5IHRyYW5zYWN0aW9ucyBvbiBkaWZm
ZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBydW4gY29uY3VycmVudGx5Ljxicj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3Jlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxZWI0MTAyZTUxOGNk
OTk2NWUzY2EwZTQwMTJiMmE1MWQ1MWZlNzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCkBAIC0wLDAgKzEs
MjkgQEAKK3ZhciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKKworZnVuY3Rpb24gb3BlbkRhdGFi
YXNlV2l0aFN1ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwgY2FsbGJhY2sp
Cit7CisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7CisgICAgICAgIHJldHVybiBvcGVu
RGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6
ZSwgY2FsbGJhY2spOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiBvcGVuRGF0YWJhc2Uo
bmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSk7CisgICAg
fQorfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rp
b24gc2V0TG9jYXRpb25IYXNoKGhhc2gpIHsKKyAgICBsb2NhdGlvbi5oYXNoID0gaGFzaDsKK30K
KworZnVuY3Rpb24gc2V0dXBBbmRSdW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0K
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCA9ICIiOwor
ICAgIHJ1blRlc3QoKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZlMGYwOWNlYTcxYTViM2Q1NjBiNmQyODczNDdlMWQwM2Y4YmE4MDkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMv
ZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+
IjsKK30KKworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9nKCJUZXN0IHBhcnQgMiBD
b21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXJyb3JG
dW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9yLm1lc3Nh
Z2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gYWRkRGF0YShkYikKK3sKKyAg
ICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICBsb2coIkluc2VydGluZyBz
b21lIGRhdGEiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3Qg
KHRlc3REYXRhKSBWQUxVRVMgKD8pIiwgWyJBIl0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwg
cmVzdWx0KSB7IH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0aW9uKGVycm9yKTsg
fSk7CisgICAgfSwgZnVuY3Rpb24oKSB7IH0sIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0p
OworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKwor
ICAgIHRyeSB7CisgICAgICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VM
b2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9ja2luZyIsIDUyNDI4ODApOwor
ICAgICAgICBhZGREYXRhKGRhdGFiYXNlKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgbG9n
KCJFcnJvciAtIGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7CisgICAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvc3RyZXNzLWZy
YW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvc3RyZXNzLWZy
YW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk5YWYzYzc5NjFmNDI3YTg3YTZlZjdmYWFmMGQxNGIyODli
YzcyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Jlc291
cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgordmFyIGRiOworCit0cnkgeworICAgIGlmICh3aW5k
b3cub3BlbkRhdGFiYXNlKSB7CisgICAgICAgIGRiID0gb3BlbkRhdGFiYXNlKCJTdHJlc3NUZXN0
MiIsICIxLjAiLCAiRGF0YWJhc2Ugc3RyZXNzIHRlc3QiLCAyMDAwMDApOworICAgICAgICBpZiAo
IWRiKQorICAgICAgICAgICAgYWxlcnQoIkZhaWxlZCB0byBvcGVuIHRoZSBkYXRhYmFzZSBvbiBk
aXNrLiAgVGhpcyBpcyBwcm9iYWJseSBiZWNhdXNlIHRoZSB2ZXJzaW9uIHdhcyBiYWQgb3IgdGhl
cmUgaXMgbm90IGVub3VnaCBzcGFjZSBsZWZ0IGluIHRoaXMgZG9tYWluJ3MgcXVvdGEiKTsKKyAg
ICB9IGVsc2UKKyAgICAgICAgYWxlcnQoIkNvdWxkbid0IG9wZW4gdGhlIGRhdGFiYXNlLiAgUGxl
YXNlIHRyeSB3aXRoIGEgV2ViS2l0IG5pZ2h0bHkgd2l0aCB0aGlzIGZlYXR1cmUgZW5hYmxlZCIp
OworfSBjYXRjaChlcnIpIHsgfQorCitmdW5jdGlvbiBsb2FkZWQoKQoreworICAgIGRiLnRyYW5z
YWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBDT1VO
VCgqKSBGUk9NIFdlYmtpdFN0aWNreU5vdGVzIiwgW10sIGZ1bmN0aW9uKHJlc3VsdCkgeworICAg
ICAgICAgICAgbG9hZE5vdGVzKCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgewor
ICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIFdlYktpdFN0aWNreU5vdGVz
IChpZCBSRUFMIFVOSVFVRSwgbm90ZSBURVhUKSIsIFtdLCBmdW5jdGlvbihyZXN1bHQpIHsgCisg
ICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gV2ViS2l0U3RpY2t5Tm90
ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzEsICdUZXh0J10sIGZ1bmN0aW9uKHJlc3Vs
dCkgeyAKKyAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gV2Vi
S2l0U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzIsICdNb3JlIFRleHQn
XSwgZnVuY3Rpb24ocmVzdWx0KSB7IAorICAgICAgICAgICAgICAgICAgICAgICAgbG9hZE5vdGVz
KCk7IAorICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gbG9hZE5vdGVz
KCkKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVj
dXRlU3FsKCJTRUxFQ1QgaWQsIG5vdGUgRlJPTSBXZWJLaXRTdGlja3lOb3RlcyIsIFtdLCBmdW5j
dGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBsb2FkTm90ZXMoKTsKKyAgICAgICAgfSwg
ZnVuY3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICBhbGVydCgnRmFpbGVkIHRvIHJldHJp
ZXZlIG5vdGVzIGZyb20gZGF0YWJhc2UgLSAnICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0pOworICAgIH0pOworfQorCithZGRFdmVudExpc3RlbmVyKCds
b2FkJywgbG9hZGVkLCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhp
cyB0ZXN0IG5lZWRzIHRvIHJ1biB3aXRob3V0IGNyYXNoZXMgYW5kIGFzc2VydGlvbiBmYWlsdXJl
cyBmb3IgYSB3aGlsZS48cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNjBjYWY1MjNiODcyOGUwYzU2NGQ2ZGE1OWFkYzZkMjg2ZmU1MmI1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorUEFTUzogcHJvcGVydHkgJ3RpbWVzdGFtcCcgb2ssIHR5cGUg
d2FzIG51bWJlcgorUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3YXMgbnVtYmVyCitQQVNT
OiBwcm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgorUEFTUzogcHJvcGVydHkgJ3Rl
eHQnIG9rLCB0eXBlIHdhcyBzdHJpbmcKK1BBU1M6IHByb3BlcnR5ICdibG9iJyBvaywgdHlwZSB3
YXMgc3RyaW5nCitQQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2QxYzk4Zjg0
NGMwNzNiMzllYjNhNmQ1NDVmYTQwMDMzNDRkYTFiNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKQEAgLTAsMCArMSwxMCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNx
bC1kYXRhLXR5cGVzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmpzIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzZmY2QwMTNiNjY3ZmJiNTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmpzCkBAIC0wLDAg
KzEsODcgQEAKKy8vZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBqYXZh
c2NyaXB0IHZhbHVlcyByZXR1cm5lZCBieSBkYXRhYmFzZSBxdWVyaWVzIGFyZSBvZiBzYW1lIHR5
cGUgYXMgdGhlIHZhbHVlcyBwdXQgaW50byB0aGUgZGF0YWJhc2UuIik7CisKK2Z1bmN0aW9uIHdy
aXRlTWVzc2FnZVRvTG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0aW9uIG5v
dGlmeURvbmUoc3RyKSB7CisgICAgd3JpdGVNZXNzYWdlVG9Mb2coc3RyKTsKKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Cit9CisKK3ZhciB0ZXN0VmFsdWVzID0geworICAgIHRpbWVzdGFtcDogbmV3
IERhdGUoIldlZCBGZWIgMDYgMjAwOCAxMjoxNjo1MiBHTVQrMDIwMCAoRUVUKSIpLnZhbHVlT2Yo
KSwKKyAgICBpZDogMTAwMSwKKyAgICByZWFsOiAxMDEuNDQ0LAorICAgIHRleHQ6ICJXZWJLaXQg
ZGIgVEVYVCIsCisgICAgYmxvYjogInN1cGVyY2FsaWZyYWdpbGlzdGljIgorfTsKKworZnVuY3Rp
b24gc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKHByb3BOYW1lLCB0ZXN0VmFsdWUsIHJlc3VsdCkg
eworICAgIGlmICh0ZXN0VmFsdWUgPT0gcmVzdWx0ICYmIHR5cGVvZiB0ZXN0VmFsdWUgPT0gdHlw
ZW9mIHJlc3VsdCkgeworICAgICAgICB3cml0ZU1lc3NhZ2VUb0xvZygiUEFTUzogcHJvcGVydHkg
JyIgKyBwcm9wTmFtZSArICInIG9rLCB0eXBlIHdhcyAiICsgdHlwZW9mIHJlc3VsdCk7CisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICB3cml0ZU1lc3NhZ2VUb0xvZygiRkFJTDogcHJv
cGVydHkgJyIgKyBwcm9wTmFtZSArICInIGZhaWxlZC4iCisgICAgICAgICsgIiBleHBlY3RlZDog
IiArIHR5cGVvZiB0ZXN0VmFsdWUgKyAiOiciICsgdGVzdFZhbHVlICsgIicgIgorICAgICAgICAr
ICIgZ290OiAiICsgdHlwZW9mIHJlc3VsdCArICI6JyIgKyByZXN1bHQgKyInIik7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiB0ZXN0REJWYWx1ZXModHgsIHJlc3VsdCkgeworICAg
IHZhciBycyA9IHJlc3VsdC5yb3dzLml0ZW0oMCk7CisgICAgLy8gQXZvaWQgZm9yIC4uIGluIGJl
Y2F1c2UgKHRoZXJldGljYWxseSkgdGhlIG9yZGVyIGNhbiBjaGFuZ2UKKyAgICBpID0gInRpbWVz
dGFtcCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7
CisgICAgaSA9ICJpZCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ld
LCByc1tpXSk7CisgICAgaSA9ICJyZWFsIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRl
c3RWYWx1ZXNbaV0sIHJzW2ldKTsKKyAgICBpID0gInRleHQiOyBzaG91bGRCZVNhbWVUeXBlQW5k
VmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOworICAgIGkgPSAiYmxvYiI7IHNob3VsZEJl
U2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7CisgICAgCisgICAgdHgu
ZXhlY3V0ZVNxbCgiRFJPUCBUQUJMRSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtdLAorICAgICAgICBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBub3RpZnlEb25lKCJQQVNTOiBkYXRh
YmFzZSBjbGVhbiB1cCBvay4iKTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24odHgsIHJl
c3VsdCkgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRGF0YWJhc2UgY2xlYW4gdXAg
ZmFpbGVkLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gZmV0Y2hEQlZhbHVlc1N0bXQo
dHgsIHJlc3VsdCkgeworICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAqIEZST00gRGF0YVR5cGVU
ZXN0VGFibGUiLCBbXSwKKyAgICAgICAgdGVzdERCVmFsdWVzLAorICAgICAgICBmdW5jdGlvbih0
eCxlcnJvcikgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3IgZmV0Y2hpbmcg
dmFsdWVzIGZyb20gdGhlIGRiLiIpCisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBpbnNlcnRU
ZXN0VmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7CisgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElO
VE8gRGF0YVR5cGVUZXN0VGFibGUgKGlkLCByZWFsLCB0aW1lc3RhbXAsIHRleHQsIGJsb2IpIFZB
TFVFUyAoPyw/LD8sPyw/KSIsCisgICAgICAgIFt0ZXN0VmFsdWVzLmlkLCB0ZXN0VmFsdWVzLnJl
YWwsIHRlc3RWYWx1ZXMudGltZXN0YW1wLCB0ZXN0VmFsdWVzLnRleHQsIHRlc3RWYWx1ZXMuYmxv
Yl0sCisgICAgICAgIGZldGNoREJWYWx1ZXNTdG10LAorICAgICAgICBmdW5jdGlvbih0eCwgZXJy
b3IpIHsKKyAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGluc2VydGluZyB2YWx1
ZXMgdG8gdGhlIGRiLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gY3JlYXRlVGVzdERC
U3RtdCh0eCkKK3sKKyAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNU
UyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQgSU5URUdFUiBVTklRVUUsIHJlYWwgUkVBTCwgdGltZXN0
YW1wIElOVEVHRVIsIHRleHQgVEVYVCwgYmxvYiBCTE9CKSIsIFtdLAorICAgICAgICBpbnNlcnRU
ZXN0VmFsdWVzU3RtdCwKKyAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAg
ICBub3RpZnlEb25lKCJGQUlMOiBFcnJvciBjcmVhdGluZyB0aGUgZGIuIik7CisgICAgICAgIH0p
OworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAg
IHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YVR5cGVUZXN0IiwgIjEuMCIsICJEYXRhYmFzZSBm
b3Igc3FsIGRhdGEgdHlwZSB0ZXN0IiwgMSk7CisgICAgaWYgKGRiKQorICAgICAgICBkYi50cmFu
c2FjdGlvbihjcmVhdGVUZXN0REJTdG10KTsKKyAgICBlbHNlCisgICAgICAgIG5vdGlmeURvbmUo
IkZBSUw6IEVycm9yIG9wZW5pbmcgdGhlIGRiIik7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lMTk3NzZhNWZmNzFjYWI1NzI2MWE3YWE0NGYzMGE5ODE1N2I0YzJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IEV4Y2VwdGlvbiB0aHJvd24g
aW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCitDT05TT0xFIE1FU1NBR0U6IENhbm5vdCBjYWxsIHRv
U3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCitUaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNvZGVz
IHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCitQQVNTOiBleHBlY3RlZCBhbmQg
Z290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3Ig
Y29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZTlRB
WF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCitQQVNT
OiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVk
IGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJy
b3IgY29kZSBWRVJTSU9OX0VSUgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Nx
bC1lcnJvci1jb2Rlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNzBjNmNhZmU4ODljN2U4YmE0ZWYwOGY1
OTM4N2UwZDNlMTViMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InNxbC1lcnJvci1jb2Rlcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9y
IGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuPGJyPgorPHByZSBpZD0i
Y29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1j
b2Rlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEyNmEzYTU4NmQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVz
LmpzCkBAIC0wLDAgKzEsMTE0IEBACitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciBUT1RBTF9URVNUUyA9IDc7Cit2YXIgdGVzdHNSdW4g
PSAwOworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKGVycm9yLCBleHBlY3RlZEVy
cm9yQ29kZU5hbWUpCit7CisgICAgaWYgKGVycm9yLmNvZGUgPT0gZXJyb3JbZXhwZWN0ZWRFcnJv
ckNvZGVOYW1lXSkgeworICAgICAgICBsb2coIlBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3Ig
Y29kZSAiICsgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKKyAgICAgICAgaWYgKCsrdGVzdHNSdW4g
PT0gVE9UQUxfVEVTVFMpCisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgbG9nKCJGQUlMOiBleHBlY3RlZCBlcnJvciBjb2RlICIgKyBleHBlY3RlZEVycm9y
Q29kZU5hbWUgKyAiICgiICsgZXJyb3JbZXhwZWN0ZWRFcnJvckNvZGVOYW1lXSArICIpOyBnb3Qg
IiArIGVycm9yLmNvZGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCitmdW5j
dGlvbiB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjaygpCit7CisgICAgbG9nKCJGQUlMOiBhIHRy
YW5zYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIpOworICAgIGZpbmlzaFRlc3Qo
KTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uKGRiLCB0cmFuc2FjdGlvbkNhbGxiYWNr
LCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgZGIudHJhbnNhY3Rpb24odHJhbnNhY3Rp
b25DYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihlcnJvcikgeworICAgICAg
ICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soZXJyb3IsIGV4cGVjdGVk
RXJyb3JDb2RlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgfSwgdHJhbnNhY3Rpb25TdWNjZXNz
Q2FsbGJhY2spOworfQorCitmdW5jdGlvbiB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNlcHRpb24o
ZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkgeyB0aHJvdyAiRXhj
ZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4iOyB9LCAiVU5LTk9XTl9FUlIi
KTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1c2VPZlN0YXRlbWVu
dEZhaWx1cmUoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQkFEIFNUQVRFTUVOVCIsIFtdLCBudWxsLCBmdW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJu
IHRydWU7IH0pOworICAgICAgICAgICAgICAgICAgICB9LCAiVU5LTk9XTl9FUlIiKTsKK30KKwor
ZnVuY3Rpb24gdGVzdEludmFsaWRTdGF0ZW1lbnQoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9u
KGRiLCBmdW5jdGlvbih0eCkgeyB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVNRU5UIik7IH0sICJT
WU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RJbmNvcnJlY3ROdW1iZXJPZkJpbmRQYXJh
bWV0ZXJzKGRiKQoreworICAgIHRlc3RUcmFuc2FjdGlvbihkYiwKKyAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmROdW1iZXJUZXN0IChGb28gSU5ULCBC
YXIgSU5UKSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJU
IElOVE8gQmFkQmluZE51bWJlclRlc3QgVkFMVUVTICg/LCA/KSIsIFsxXSk7CisgICAgICAgICAg
ICAgICAgICAgIH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RCaW5kUGFyYW1l
dGVyT2ZXcm9uZ1R5cGUoZGIpCit7CisgICAgdmFyIGJhZFN0cmluZyA9IHsgfTsKKyAgICBiYWRT
dHJpbmcudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgdGhyb3cgIkNhbm5vdCBjYWxsIHRvU3RyaW5n
KCkgb24gdGhpcyBvYmplY3QuIiB9OworCisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlv
bih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNU
UyBCYWRCaW5kVHlwZVRlc3QgKEZvbyBURVhUKSIpOworICAgICAgICB0eC5leGVjdXRlU3FsKCJJ
TlNFUlQgSU5UTyBCYWRCaW5kVHlwZVRlc3QgVkFMVUVTICg/KSIsIFtiYWRTdHJpbmddKTsKKyAg
ICB9LCAiVU5LTk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFF1b3RhRXhjZWVkZWQoZGIp
Cit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAgICAgICAgICAgICAgICBmdW5jdGlv
bih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRB
QkxFIElGIE5PVCBFWElTVFMgUXVvdGFUZXN0IChGb28gQkxPQikiKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFF1b3RhVGVzdCBWQUxVRVMgKFpF
Uk9CTE9CKDEwICogMTAyNCAqIDEwMjQpKSIpOworICAgICAgICAgICAgICAgICAgICB9LCAiUVVP
VEFfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RWZXJzaW9uTWlzbWF0Y2goZGIpCit7CisgICAg
Ly8gVXNlIGFub3RoZXIgREIgaGFuZGxlIHRvIGNoYW5nZSB0aGUgdmVyc2lvbi4gSG93ZXZlciwg
aW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIERCIHZlcnNpb24gaXMgbm90CisgICAgLy8g
Y2hhbmdlZCBiZWZvcmUgdGhlIHRyYW5zYWN0aW9ucyBpbiB0aGUgb3RoZXIgdGVzdHMgaGF2ZSBy
dW4sIHdlIG5lZWQgdG8gZG8gaXQgaW4gYSB0cmFuc2FjdGlvbiBvbiAnZGInLgorICAgIGRiLnRy
YW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2VX
aXRoU3VmZml4KCJTUUxFcnJvckNvZGVzVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGVycm9yIGNv
ZGVzLiIsIDEpOworICAgICAgICBkYjIuY2hhbmdlVmVyc2lvbigiMS4wIiwgIjIuMCIsIGZ1bmN0
aW9uKHR4KSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkZBSUw6IGNvdWxkIG5vdCBjaGFu
Z2UgdGhlIERCIHZlcnNpb24uIik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5p
c2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgeyB9KTsK
KyAgICAgICAgfSk7CisKKyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCisgICAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3Fs
KCJUSElTIFNUQVRFTUVOVCBTSE9VTEQgTkVWRVIgR0VUIEVYRUNVVEVEIik7CisgICAgICAgICAg
ICAgICAgICAgIH0sICJWRVJTSU9OX0VSUiIpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworCisgICAgdmFyIGRiID0gb3BlbkRhdGFi
YXNlV2l0aFN1ZmZpeCgiU1FMRXJyb3JDb2Rlc1Rlc3QiLCAiMS4wIiwgIlRlc3RzIHRoZSBlcnJv
ciBjb2Rlcy4iLCAxKTsKKyAgICB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNlcHRpb24oZGIpOwor
ICAgIHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRGYWlsdXJlKGRiKTsK
KyAgICB0ZXN0SW52YWxpZFN0YXRlbWVudChkYik7CisgICAgdGVzdEluY29ycmVjdE51bWJlck9m
QmluZFBhcmFtZXRlcnMoZGIpOworICAgIHRlc3RCaW5kUGFyYW1ldGVyT2ZXcm9uZ1R5cGUoZGIp
OworICAgIHRlc3RRdW90YUV4Y2VlZGVkKGRiKTsKKyAgICB0ZXN0VmVyc2lvbk1pc21hdGNoKGRi
KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1l
cnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9z
dGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0MDNkOWYw
Yzk2Nzg3MTU5MGMxNTE0MDcwZTYwODA2N2U1MDEyMTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTQgQEAKK0NPTlNPTEUgTUVTU0FHRTogRXhjZXB0aW9uIGluIHN0YXRl
bWVudCBlcnJvciBjYWxsYmFjaworVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSB0cmFuc2FjdGlv
biBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBhIHN0YXRlbWVudCdz
IGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMgdHJ1ZSwgb3IgZG9l
c24ndCByZXR1cm4gYW55IHZhbHVlLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sg
d2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBp
bnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tl
ZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQ
QVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAt
IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRo
ZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0
cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFu
c2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorVGVzdCBDb21wbGV0ZQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iMzc2ODk2MzhiZDJiOGJlNWI4NmJiMzNlMDU2ZmYwODU1N2FkNjg0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K0FMRVJUOiB1bmRlZmluZWQKK0FMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxl
IGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgorVGhpcyB0ZXN0IHRlc3RzIHRo
YXQgdGhlIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdv
cmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQt
ZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYwNDUxMDIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgc3RhdGVtZW50IGVy
cm9yIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50RXJyb3JDYWxsYmFja3NJbnZva2Vk
ID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKytzdGF0ZW1lbnRFcnJvckNhbGxi
YWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gc3Rh
dGVtZW50RXJyb3JDYWxsYmFjazEodHgsIGVycm9yKQoreworICAgIGFsZXJ0KCJGQUlMOiBWaXNp
YmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKworZnVuY3Rpb24gc3Rh
dGVtZW50RXJyb3JDYWxsYmFjazIodHgsIGVycm9yKQoreworICAgIGFsZXJ0KGRvY3VtZW50LmJv
ZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRv
Y3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKK2RvY3VtZW50LmJv
ZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBj
cmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNj
cmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAgICAgImZ1bmN0aW9uIHN0YXRl
bWVudEVycm9yQ2FsbGJhY2sxKHR4LCBlcnJvcilcbiIgKworICAgICAgICAie1xuIiArCisgICAg
ICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIgICAgd2lu
ZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIgKwor
ICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJyb3JDYWxsYmFja0lz
b2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAiZGIxLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAgIiAgICB0eC5leGVjdXRlU3FsKCdCQUQg
U1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgc3RhdGVtZW50RXJyb3JDYWxs
YmFjazEpO1xuIiArCisgICAgICAgICJ9KTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJh
c2UoJ1N0YXRlbWVudEVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7
CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9LCBzdGF0ZW1lbnRF
cnJvckNhbGxiYWNrMik7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1j
YWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9y
LWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiODM2ZDE2MThiOTkzMjQ1Njg1MWFjOWY4ZTA3
YTc2Y2MxNWZhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsODcgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4i
OworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBsb2coIlRlc3QgQ29tcGxldGUi
KTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0eENhbGxiYWNrQ291bnQgPSAw
OwordmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsKK3ZhciBkYXRhYmFzZTsKKworZnVu
Y3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWwsIHN0YXRlbWVudEVycm9yQ2FsbGJh
Y2spCit7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
dHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdFRhYmxlIChSYW5k
b21EYXRhIFRFWFQpIik7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3RU
YWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOworICAgICAgICB0eC5leGVjdXRlU3FsKCJUSElT
IFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKKyAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBkYXRh
KSB7CisgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhpcyBzdGF0ZW1lbnQgc2hvdWxkIGhh
dmUgZmFpbGVkIik7CisgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgICAg
fSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VS
VCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0MSddLAorICAgICAgICAgICAgZnVu
Y3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAg
ICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2
ZSBiZWVuIGV4ZWN1dGVkIik7CisgICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICAgICAgICAgIGxvZygiRkFJ
TCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7CisgICAg
ICAgICAgICB9KTsKKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICBpZiAoZXhwZWN0
ZWRUb0ZhaWwpCisgICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3Ig
Y2FsbGJhY2sgd2FzIGludm9rZWQuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZygi
RkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBzaG91bGQgbm90IGhhdmUgYmVl
biBpbnZva2VkLiIpOworICAgICAgICBpZiAoKyt0eENhbGxiYWNrQ291bnQgPT0gTlVNQkVSX09G
X1RSQU5TQUNUSU9OUykKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9LCBmdW5jdGlv
bigpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQorICAgICAgICAgICAgbG9nKCJGQUlM
IC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgc2hvdWxkIG5vdCBoYXZlIGJlZW4g
aW52b2tlZC4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nKCJQQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7CisgICAgICAgIGlmICgr
K3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJT05TKQorICAgICAgICAgICAg
ZmluaXNoVGVzdCgpOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgIH0KKworICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJTdGF0ZW1lbnRFcnJv
ckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVycm9yIGNhbGxiYWNrIHRlc3QiLCAx
MDI0KTsKKworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVy
biB0cnVlOyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyB0
aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayI7IHJldHVybiBmYWxz
ZTsgfSk7CisgICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJu
ICJzb21lIHN0cmluZyI7IH0pOworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9uKGVy
cm9yKSB7IHJldHVybiAxMjM0OyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5jdGlv
bihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsgfSk7CisgICAgcnVuVHJhbnNhY3Rp
b24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJmYWxzZSI7IH0pOworICAgIHJ1blRy
YW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30pOworICAgIHJ1blRyYW5zYWN0aW9u
KGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFsc2U7IH0pOworICAgIHJ1blRyYW5z
YWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gMDsgfSk7CisgICAgcnVuVHJh
bnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiBudWxsOyB9KTsKK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KK1RoaXMgdGVz
dCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkgcm9sbGVkIGJhY2sg
aWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0aHJvd3MgYW4gZXhj
ZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2YWx1ZS4KKzxwcmUg
aWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRl
bWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yZWYwMjdkZmJkMWEwNDM0NjNmMjE3NjliNzM3MTlhODhlNWJmNmQwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQUxFUlQ6
IHVuZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBj
YWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUg
c3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nl
c3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZjMTEzYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHN0YXRlbWVudCBz
dWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCis8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrc0lu
dm9rZWQgPSAwOworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgaWYgKCgrK3N0YXRlbWVudFN1Y2Nl
c3NDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
KQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0
aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpCit7CisgICAgYWxlcnQoIkZB
SUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgpOworfQorCitmdW5j
dGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2syKHR4LCBkYXRhKQoreworICAgIGFsZXJ0KGRv
Y3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJvZHkuZm9vID0g
IkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKK2Rv
Y3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBj
YWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5l
dmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAgICAgImZ1bmN0
aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpXG4iICsKKyAgICAgICAgIntc
biIgKworICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAg
ICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAg
ICJ9XG4iICsKKyAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1N0YXRlbWVudFN1Y2Nl
c3NDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAi
ZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAgIiAgICB0eC5leGVj
dXRlU3FsKCdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKScsIFtdLCBz
dGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKTtcbiIgKworICAgICAgICAifSk7Iik7CisKKyAgICB2
YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2tJc29sYXRlZFdv
cmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7
CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3Qg
KEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazIpOworICAgIH0pOworfQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc2
MTkwMjQ0MTc4YzNlYTJkZDkzYTU2MjMwMmE4MDZlYTg0ODk4NGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgc3VjY2Vzc2Z1bCB0
cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0aG91dCBhIHN0YXRlbWVudCAtIHJlY2VpdmVz
IGl0cyBzdWNjZXNzQ2FsbGJhY2sKK1RyYW5zYWN0aW9uIHN1Y2NlZWRlZCAtIFRyYW5zYWN0aW9u
IHdpdGggb25lIHN0YXRlbWVudAorVHJhbnNhY3Rpb24gc3VjY2VlZGVkIC0gRW1wdHkgdHJhbnNh
Y3Rpb24KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3VjY2Vzcy1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyMzdhYmE4MmUzMDk3MjQ4MWFhYmI3
MDUwZDVhMjE0NmUyNWMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7
Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGxvZygiVGVzdCBDb21wbGV0ZSIp
OworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihl
cnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9yLm1lc3NhZ2UpOworICAg
IGZpbmlzaFRlc3QoKTsKK30KKwordmFyIHN1Y2Nlc3NDb3VudCA9IDA7CisKK2Z1bmN0aW9uIHN1
Y2Nlc3NGdW5jdGlvbihtZXNzYWdlKQoreworICAgIGxvZygiVHJhbnNhY3Rpb24gc3VjY2VlZGVk
IC0gIiArIG1lc3NhZ2UpOworICAgIGlmICgrK3N1Y2Nlc3NDb3VudCA9PSAyKQorICAgICAgICBm
aW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xl
YXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAg
fQorICAgIAorICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiU3VjY2Vzc0NhbGxiYWNr
RGF0YWJhc2UiLCAiMS4wIiwgIlRlc3QgZm9yIHN1Y2Nlc3MgY2FsbGJhY2sgPHJkYXI6Ly81NzM3
NjkyPiIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IHR4LmV4
ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFN1Y2Nlc3NDYWxsYmFja1Rlc3Qg
KHJhbmRvbURhdGEpIiwgW10pOyB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgc3VjY2Vz
c0Z1bmN0aW9uKCJUcmFuc2FjdGlvbiB3aXRoIG9uZSBzdGF0ZW1lbnQiKTsgfSk7CisgICAgZGF0
YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rp
b24oKSB7IHN1Y2Nlc3NGdW5jdGlvbigiRW1wdHkgdHJhbnNhY3Rpb24iKTsgfSk7Cit9CisKKzwv
c2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CitUaGlzIHRlc3Qg
Y29uZmlybXMgdGhhdCBhIHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gLSBib3RoIHdpdGggYW5kIHdp
dGhvdXQgYSBzdGF0ZW1lbnQgLSByZWNlaXZlcyBpdHMgc3VjY2Vzc0NhbGxiYWNrCis8cHJlIGlk
PSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0MGY2M2MwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBACitUaGlzIHRlc3QgdGVzdHMgdGhlIGRhdGFiYXNl
IGF1dGhvcml6ZXIuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitT
UUxJVEVfQ1JFQVRFX0lOREVYIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RF
TVBfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9UUklHR0VS
IHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RFTVBfVklFVyBzdGF0ZW1lbnQg
c3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCitT
UUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVlRB
QkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90
IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVBRCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX1NF
TEVDVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RFTEVURSBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkLgorU1FMSVRFX0lOU0VSVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX1VQREFURSBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX1BSQUdNQSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0FMVEVS
X1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQUxURVJfVEFCTEUgc3RhdGVtZW50
IHN1Y2NlZWRlZC4KK1NRTElURV9UUkFOU0FDVElPTiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBu
b3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0FUVEFDSCBz
dGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRo
b3JpemVkKQorU1FMSVRFX0RFVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFy
ZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX1JFSU5ERVggc3RhdGVtZW50
IHN1Y2NlZWRlZC4KK1NRTElURV9BTkFMWVpFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBw
cmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9JTkRFWCBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UQUJMRSBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCitT
UUxJVEVfRFJPUF9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1RS
SUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1ZJRVcgc3RhdGVtZW50IHN1
Y2NlZWRlZC4KK1NRTElURV9EUk9QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitXcml0ZSB0
cmFuc2FjdGlvbiBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0YXRlbWVudCBmYWls
ZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKK1NRTElU
RV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfSU5ERVgg
c3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0
aG9yaXplZCkKK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQ1JFQVRF
X1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDEgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQ1JFQVRFX1RFTVBfVklFVyBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQor
U1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVfVklFVyBzdGF0ZW1l
bnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVk
KQorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBh
cmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVfSU5ERVggc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkLgorU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4K
K1NRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JF
QVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVklFVyBzdGF0
ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50IGZhaWxlZDog
Y291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9S
RUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfU0VMRUNUIHN0YXRlbWVudCBzdWNjZWVk
ZWQuCitTUUxJVEVfREVMRVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfSU5TRVJUIHN0YXRlbWVudCBmYWls
ZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJ
VEVfVVBEQVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAo
MjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUFJBR01BIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQUxURVJf
VEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKK1NRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogVGVzdFRhYmxlKQorU1FM
SVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQVRUQUNIIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVf
REVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMg
bm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBu
b3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0FOQUxZWkUg
c3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0
aG9yaXplZCkKK1NRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBw
cmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9URU1QX1RB
QkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90
IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3RhdGVtZW50IGZhaWxlZDog
Y291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9E
Uk9QX1RFTVBfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVFJJR0dFUiBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FM
SVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVEFCTEUgc3RhdGVtZW50IGZhaWxl
ZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1JlYWQg
dHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC90ZXN0LWF1dGhvcml6ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmFmMTBhYTQ3NTAwYTRmM2NmMzEy
NGM3NjcxNzMxNzllODk0MzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJ0ZXN0LWF1dGhvcml6ZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IHRlc3RzIHRoZSBk
YXRhYmFzZSBhdXRob3JpemVyLjxicj4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorRkFJTFVSRTogdGVz
dCBkaWRuJ3QgcnVuLgorPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGEwOGM4OWRmNTRh
M2I2YzRhODYzYzAxZGY4OWY0NzUxY2NjOTE4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qcwpAQCAtMCwwICsxLDE1MyBAQAor
ZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQor
CitmdW5jdGlvbiBsb2dBbmRUZXJtaW5hdGVUZXN0KG1lc3NhZ2UsIGVycm9yKQoreworICAgIGxv
ZyhtZXNzYWdlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOworICAgIHRlcm1pbmF0ZVRlc3QoKTsK
K30KKworZnVuY3Rpb24gY2xlYW51cChkYikKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlv
bih0eCkgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJMRSBJRiBFWElTVFMg
VGVzdDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgSU5ERVggSUYgRVhJU1RT
IFRlc3RJbmRleDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgVklFVyBJRiBF
WElTVFMgVGVzdFZpZXc7Iik7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJEUk9QIFRSSUdH
RVIgSUYgRVhJU1RTIFRlc3RUcmlnZ2VyOyIpOworICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikg
eyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJDbGVhbnVwIGZhaWxlZCIsIGVycm9yKTsgfSk7Cit9CisK
K2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhzdGF0ZW1lbnRUeXBlKQoreworICAg
IGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2VlZGVkLiIpOworfQorCitmdW5j
dGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKHN0YXRlbWVudFR5cGUsIGVycm9yKQoreworICAg
IGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFpbGVkOiAiICsgZXJyb3IubWVzc2Fn
ZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBleGVjdXRlU3RhdGVtZW50KHR4
LCBzdGF0ZW1lbnQsIG9wZXJhdGlvbikKK3sKKyAgICB0eC5leGVjdXRlU3FsKHN0YXRlbWVudCwg
W10sCisgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vz
c0NhbGxiYWNrKG9wZXJhdGlvbik7IH0sCisgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwg
ZXJyb3IpIHsgcmV0dXJuIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sob3BlcmF0aW9uLCBlcnJvcik7
IH0pOworfQorCitmdW5jdGlvbiBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KQoreworICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEFCTEUgVGVzdCAoRm9vIGludCk7IiwgIlNRTElURV9D
UkVBVEVfVEFCTEUiKTsKK30KKworZnVuY3Rpb24gY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrKHR4
KQoreworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgSU5ERVggVGVzdEluZGV4IE9O
IFRlc3QgKEZvbyk7IiwgIlNRTElURV9DUkVBVEVfSU5ERVgiKTsKKworICAgIC8vIEV2ZW4gdGhv
dWdoIHRoZSBmb2xsb3dpbmcgcXVlcnkgc2hvdWxkIHRyaWdnZXIgYSBTUUxJVEVfQ1JFQVRFX1RF
TVBfSU5ERVggb3BlcmF0aW9uCisgICAgLy8gKGFjY29yZGluZyB0byBodHRwOi8vd3d3LnNxbGl0
ZS5vcmcvdGVtcGZpbGVzLmh0bWwpLCBpdCBkb2Vzbid0LCBhbmQgSSdtIG5vdCBhd2FyZQorICAg
IC8vIG9mIGFueSBvdGhlciB3YXkgdG8gdHJpZ2dlciB0aGlzIG9wZXJhdGlvbi4gU28gd2UnbGwg
c2tpcCBpdCBmb3Igbm93LgorICAgIC8vZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCAqIEZS
T00gVGVzdCBXSEVSRSBGb28gSU4gKDEsIDIsIDMpOyIsICJTUUxJVEVfQ1JFQVRFX1RFTVBfSU5E
RVgiKTsKKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVNUCBUQUJMRSBUZXN0
VGVtcFRhYmxlIChGb28gaW50KTsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIik7CisgICAg
ZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFRSSUdHRVIgVGVzdFRlbXBUcmlnZ2Vy
IElOU0VSVCBPTiBUZXN0IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IEVORDsiLCAi
U1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAi
Q1JFQVRFIFRFTVAgVklFVyBUZXN0VGVtcFZpZXcgQVMgU0VMRUNUIENPVU5UKCopIEZST00gVGVz
dDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1ZJRVciKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4
LCAiQ1JFQVRFIFRSSUdHRVIgVGVzdFRyaWdnZXIgSU5TRVJUIE9OIFRlc3QgQkVHSU4gU0VMRUNU
IENPVU5UKCopIEZST00gVGVzdDsgRU5EOyIsICJTUUxJVEVfQ1JFQVRFX1RSSUdHRVIiKTsKKyAg
ICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFZJRVcgVGVzdFZpZXcgQVMgU0VMRUNUIENP
VU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9WSUVXIik7CisgICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIkNSRUFURSBWSVJUVUFMIFRBQkxFIFRlc3RWaXJ0dWFsVGFibGUgVVNJTkcg
TWlzc2luZ01vZHVsZTsiLCAiU1FMSVRFX0NSRUFURV9WVEFCTEUiKTsKK30KKworZnVuY3Rpb24g
b3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpCit7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwg
IlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9SRUFEIik7CisgICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9TRUxF
Q1QiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVMRVRFIEZST00gVGVzdDsiLCAiU1FM
SVRFX0RFTEVURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJJTlNFUlQgSU5UTyBUZXN0
IFZBTFVFUyAoMSk7IiwgIlNRTElURV9JTlNFUlQiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4
LCAiVVBEQVRFIFRlc3QgU0VUIEZvbyA9IDIgV0hFUkUgRm9vID0gMTsiLCAiU1FMSVRFX1VQREFU
RSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJQUkFHTUEgY2FjaGVfc2l6ZTsiLCAiU1FM
SVRFX1BSQUdNQSIpOworCisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFMVEVSIFRBQkxFIFRl
c3QgUkVOQU1FIFRPIFRlc3RUYWJsZTsiLCAiU1FMSVRFX0FMVEVSX1RBQkxFIik7CisgICAgLy8g
UmVuYW1lIHRoZSB0YWJsZSBiYWNrIHRvIGl0cyBvcmlnaW5hbCBuYW1lCisgICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIkFMVEVSIFRBQkxFIFRlc3RUYWJsZSBSRU5BTUUgVG8gVGVzdDsiLCAiU1FM
SVRFX0FMVEVSX1RBQkxFIik7CisKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQkVHSU4gVFJB
TlNBQ1RJT047IiwgIlNRTElURV9UUkFOU0FDVElPTiIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQo
dHgsICJBVFRBQ0ggbWFpbiBBUyBUZXN0TWFpbjsiLCAiU1FMSVRFX0FUVEFDSCIpOworICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHgsICJERVRBQ0ggVGVzdE1haW47IiwgIlNRTElURV9ERVRBQ0giKTsK
KyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUkVJTkRFWDsiLCAiU1FMSVRFX1JFSU5ERVgiKTsK
KyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQU5BTFlaRTsiLCAiU1FMSVRFX0FOQUxZWkUiKTsK
KworICAgIC8vIFNRTElURV9GVU5DVElPTjogYWxsb3dlZCB3cml0ZSBtb2RlCisgICAgLy8gVGhl
cmUgaXMgbm8gU1FML0phdmFzY3JpcHQgQVBJIHRvIGFkZCB1c2VyLWRlZmluZWQgZnVuY3Rpb25z
IHRvIFNRTGl0ZSwKKyAgICAvLyBzbyB3ZSBjYW5ub3QgdGVzdCB0aGlzIG9wZXJhdGlvbgorfQor
CitmdW5jdGlvbiBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KQoreworICAgIGV4ZWN1dGVTdGF0
ZW1lbnQodHgsICJEUk9QIElOREVYIFRlc3RJbmRleDsiLCAiU1FMSVRFX0RST1BfSU5ERVgiKTsK
KworICAgIC8vIFNRTElURV9EUk9QX1RFTVBfSU5ERVg6IGFsbG93ZWQgaW4gd3JpdGUgbW9kZQor
ICAgIC8vIE5vdCBzdXJlIGhvdyB0byB0ZXN0IHRoaXM6IHRlbXAgaW5kZXhlcyBhcmUgYXV0b21h
dGljYWxseSBkcm9wcGVkIHdoZW4KKyAgICAvLyB0aGUgZGF0YWJhc2UgaXMgY2xvc2VkLCBidXQg
SFRNTDUgZG9lc24ndCBzcGVjaWZ5IGEgY2xvc2VEYXRhYmFzZSgpIGNhbGwuCisKKyAgICBleGVj
dXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBUZXN0VGVtcFRhYmxlOyIsICJTUUxJVEVfRFJP
UF9URU1QX1RBQkxFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVFJJR0dFUiBU
ZXN0VGVtcFRyaWdnZXI7IiwgIlNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiIpOworICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFRlbXBWaWV3OyIsICJTUUxJVEVfRFJPUF9U
RU1QX1ZJRVciKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUUklHR0VSIFRlc3RU
cmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9UUklHR0VSIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0
eCwgIkRST1AgVklFVyBUZXN0VmlldzsiLCAiU1FMSVRFX0RST1BfVklFVyIpOworCisgICAgLy8g
U1FMSVRFX0RST1BfVlRBQkxFOiBhbGxvd2VkIGluIHdyaXRlIG1vZGUKKyAgICAvLyBOb3Qgc3Vy
ZSBob3cgdG8gdGVzdCB0aGlzOiB3ZSBjYW5ub3QgY3JlYXRlIGEgdmlydHVhbCB0YWJsZSBiZWNh
dXNlIHdlIGRvIG5vdAorICAgIC8vIGhhdmUgU1FML0phdmFzY3JpcHQgQVBJcyB0byByZWdpc3Rl
ciBhIG1vZHVsZSB0aGF0IGltcGxlbWVudHMgYSB2aXJ0dWFsIHRhYmxlLgorICAgIC8vIFRoZXJl
Zm9yZSwgdHJ5aW5nIHRvIGRyb3AgYSB2aXJ0dWFsIHRhYmxlIHdpbGwgYWx3YXlzIGZhaWwgKG5v
IHN1Y2ggdGFibGUpCisgICAgLy8gYmVmb3JlIGV2ZW4gZ2V0dGluZyB0byB0aGUgYXV0aG9yaXpl
ci4KKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFRBQkxFIFRlc3Q7IiwgIlNRTElU
RV9EUk9QX1RBQkxFIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZWFkV3JpdGVNb2RlKGRiKQorewor
ICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICBjcmVhdGVUYWJs
ZUNhbGxiYWNrKHR4KTsKKyAgICAgICAgICAgIGNyZWF0ZVN0YXRlbWVudHNDYWxsYmFjayh0eCk7
CisgICAgICAgICAgICBvdGhlclN0YXRlbWVudHNDYWxsYmFjayh0eCk7CisgICAgICAgICAgICBk
cm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rpb24o
ZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUgdHJhbnNhY3Rpb24gZmFpbGVkIiwg
ZXJyb3IpOyB9LAorICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJXcml0ZSB0cmFuc2FjdGlvbiBz
dWNjZWVkZWQuIik7IH0pOworfQorCitmdW5jdGlvbiB0ZXN0UmVhZE9ubHlNb2RlKGRiKQorewor
ICAgIC8vIFRlc3QgdGhlICdDUkVBVEUgVEFCTEUnIG9wZXJhdGlvbjsgaXQgc2hvdWxkIGJlIGRp
c2FsbG93ZWQKKyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlVGFibGVDYWxsYmFjaywKKyAg
ICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnQ1JFQVRF
IFRBQkxFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOworCisgICAgLy8gSW4gb3Jk
ZXIgdG8gdGVzdCBhbGwgb3RoZXIgJ0NSRUFURScgb3BlcmF0aW9ucywgd2UgbXVzdCBjcmVhdGUg
dGhlIHRhYmxlIGZpcnN0CisgICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlVGFibGVDYWxsYmFjaywK
KyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUgJ0NS
RUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKKyAgICBkYi5yZWFk
VHJhbnNhY3Rpb24oY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAgICBmdW5jdGlvbihl
cnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdDUkVBVEUnIHRyYW5zYWN0aW9uIGZh
aWxlZCIsIGVycm9yKTsgfSk7CisKKyAgICAvLyBJbiBvcmRlciB0byB0ZXN0IHRoZSAnRFJPUCcg
YW5kICdvdGhlcicgb3BlcmF0aW9ucywgd2UgbmVlZCB0byBmaXJzdCBjcmVhdGUgdGhlIHJlc3Bl
Y3RpdmUgZW50aXRpZXMKKyAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVTdGF0ZW1lbnRzQ2FsbGJh
Y2ssCisgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIldyaXRl
ICdDUkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7CisgICAgZGIucmVhZFRy
YW5zYWN0aW9uKG90aGVyU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAgICBmdW5jdGlvbihlcnJv
cikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdvdGhlcicgdHJhbnNhY3Rpb24gZmFpbGVk
IiwgZXJyb3IpOyB9KTsKKworICAgIC8vIEhhY2s6IGluc2VydCBhbiBlbXB0eSB3cml0ZSB0cmFu
c2FjdGlvbiB0byBndWFyYXRlZSB0aGF0IHRoZXNlIHRyYW5zYWN0aW9ucyBhcmUgZXhlY3V0ZWQg
c2VxdWVudGlhbGx5CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSk7CisgICAg
ZGIucmVhZFRyYW5zYWN0aW9uKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2ssCisgICAgICAgIGZ1bmN0
aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJlYWQgJ0RST1AnIHRyYW5zYWN0aW9u
IGZhaWxlZCIsIGVycm9yKTsgfSwKKyAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiUmVhZCB0cmFu
c2FjdGlvbnMgc3VjY2VlZGVkLiIpOyB0ZXJtaW5hdGVUZXN0KCk7IH0pOworfQorCitmdW5jdGlv
biBydW5UZXN0KCkKK3sKKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJBdXRo
b3JpemVyVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGRhdGFiYXNlIGF1dGhvcml6ZXIuIiwgMzI3
NjgpOworICAgIGNsZWFudXAoZGIpOworICAgIHRlc3RSZWFkV3JpdGVNb2RlKGRiKTsKKyAgICB0
ZXN0UmVhZE9ubHlNb2RlKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRp
b24tY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4OGM3NDI2MDVlMzRkZGI5ODhlODkz
M2MzNGUwNDNhMzNhYzI0ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBUcmFuc2FjdGlvbkNhbGxiYWNrRXJy
b3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFzIHBhc3NlZApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhj
ZXB0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlv
bi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YmNjNzMyYmI4ZjJi
NTNlY2I0NDgxYTc5OTc1ZTJjY2Y3MWNjZGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0
bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKK30KKwor
dmFyIGRiID0gb3BlbkRhdGFiYXNlKCIxNTk3NlRlc3QiLCAiMS4wIiwgIlRlc3QgZm9yIGh0dHA6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTc2IiwgMSk7CitkYi50cmFuc2Fj
dGlvbihmdW5jdGlvbih0eCkgeworICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpIH0sIDApOworICAgdGhyb3cgIlRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJv
ciI7Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitJZiBXZWJLaXQgZG9lc24ndCBj
cmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNzZWQKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yN2Y0
NzRmN2JjNmVhNzhhOTIxN2I5OGQwOGI5YjI1YTcxMmVmZTRlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQt
d29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQUxFUlQ6IHVuZGVmaW5lZAorQUxF
UlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVk
IGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gY2Fs
bGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjgyNWQ3MDAzNDA0Mjg0NmVmZDRkMWQ5NTgz
YjcyZTJlNTk1MmJiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw0
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRo
YXQgdGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdHJhbnNhY3Rpb25DYWxs
YmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKyt0cmFuc2Fj
dGlvbkNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVu
Y3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjazEodHgpCit7CisgICAgYWxlcnQoIkZBSUw6IFZpc2li
bGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgpOworfQorCitmdW5jdGlvbiB0cmFu
c2FjdGlvbkNhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5ib2R5LmJhcik7Cisg
ICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5
LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5ib2R5LmJhciA9ICJQ
QVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0
aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xh
dGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxi
YWNrMSh0eClcbiIgKworICAgICAgICAie1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1l
bnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2Ny
aXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9w
ZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcn
LCAxKTtcbiIgKworICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uQ2FsbGJhY2sx
KTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uQ2FsbGJhY2tJ
c29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKHRyYW5z
YWN0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJh
Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYjMzYmQ5YWI3ZDA3N2M1
ZGQ2M2MwMDc5OGUzZDY3NTAwOWYzMTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmplY3QgT2JqZWN0XQor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBbb2JqZWN0IE9iamVjdF0KK1RoaXMgdGVzdCBjb25m
aXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3Rs
eSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlz
IHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlk
LXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCitUZXN0aW5n
IHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZh
bHNlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0
aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3Rpbmcg
c3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sg
cmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUworQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRhMTUzOTY2NzhkOWViZjMxNTJkOGU5Yzg0ZDNjMTRjYjRlOWYyNzUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlv
bi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0
IEBACitBTEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlz
aWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMgdGVzdCB0ZXN0
cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJp
Z2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MjE4OTRkMmVhMjc1OGFlOTFmOTczOWE3YjU1NWQ1YzZlMzJkY2Ix
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUg
dHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0cmFuc2FjdGlvbkVycm9y
Q2FsbGJhY2tzSW52b2tlZCA9IDA7CitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBpZiAoKCsrdHJh
bnNhY3Rpb25FcnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
K30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eCkKK3sKKyAgICBhbGVy
dCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBkb25lKCk7Cit9CisK
K2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazIodHgpCit7CisgICAgYWxlcnQoZG9j
dW1lbnQuYm9keS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQuYm9keS5mb28gPSAi
RkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOworZG9j
dW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNh
bGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMo
KTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2
YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAgICAgICAiZnVuY3Rp
b24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eClcbiIgKworICAgICAgICAie1xuIiArCisg
ICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIgICAg
d2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIg
KworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25FcnJvckNhbGxi
YWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAgICAgICJkYjEudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIgKworICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwo
J0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9LCBmdW5jdGlvbih0eCwg
ZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pO1xuIiArCisgICAgICAgICJ9LCB0cmFuc2FjdGlvbkVy
cm9yQ2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0
aW9uRXJyb3JDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKKyAgICBkYjIu
dHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgnQkFEIFNU
QVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikg
eyByZXR1cm4gdHJ1ZTsgfSk7CisgICAgfSwgdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMik7Cit9
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkwYjJlZDAzNGZkOTVhN2JhZTUyYTA4NmU5YTJlZTVlYmNkZWY3NzIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxs
YmFjay5odG1sCkBAIC0wLDAgKzEsMTA1IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKwor
ZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKK30KKworLy8gc2lnbmFsIHRv
IGxheW91dFRlc3RDb250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHplcm8uCit2YXIgdGVzdENv
dW50ID0gNDsKKy8vIHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0aGUgbnVtYmVyIG9mIHJv
d3MgYWxyZWFkeSBpbiBvdXIgdGVzdCBkYXRhYmFzZS4KKy8vIG91ciBnb2FsIGlzIHRvIGtlZXAg
dGhlIG51bWJlciB1bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCit2YXIgaW5pdGlhbFJvd0Nv
dW50ID0gMDsKK3ZhciBkYXRhYmFzZTsKK3ZhciBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQ7CisKK2Z1
bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICgtLXRlc3RDb3VudCkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIpOworCisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKQoreworICAgIHN1
Y2Nlc3NDYWxsYmFja0NhbGxlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIHZlcmlmeVN1Y2Nlc3Mo
bXNnKQoreworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQorICAgIHsKKyAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50IEZST00gRXJyb3JD
YWxsYmFja1Rlc3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQorICAgICAgICB7CisgICAgICAgICAg
ICBsb2cobXNnICsgIiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50ID09IGluaXRpYWxSb3dD
b3VudCAmJiAhc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1MiIDogIkZBSUxVUkUiKSk7
CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0pOworICAgIH0pOworfQorCitm
dW5jdGlvbiBmYWlsTWlkV2F5KGVycm9yQ2FsbGJhY2spCit7CisgICAgc3VjY2Vzc0NhbGxiYWNr
Q2FsbGVkID0gZmFsc2U7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpCisg
ICAgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBFcnJvckNhbGxiYWNrVGVz
dChzb21lVmFsdWUpIFZBTFVFUyg/KTsiLCBbIDEgXSk7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwo
Ik1VVFRFUiBTT01FVEhJTkcgSUxMRUdJQkxFIik7CisgICAgfSwgZXJyb3JDYWxsYmFjaywgc3Vj
Y2Vzc0NhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50Q2FsbGJhY2tUaHJvd3NFeGNl
cHRpb24oZXJyb3JDYWxsYmFjaykKK3sKKyAgICBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPSBmYWxz
ZTsKKyAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKKyAgICB7CisgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0KHNvbWVWYWx1ZSkg
VkFMVUVTKD8pOyIsIFsgMSBdLCBmdW5jdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRo
cm93IHt9OworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB9CisKKyAgICBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRXJyb3JD
YWxsYmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBjYWxsYmFjayIsIDEpOwor
ICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQorICAgIHsKKyAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJyb3JDYWxsYmFja1Rlc3Qg
KHNvbWVWYWx1ZSkiLCBbXSk7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBjb3VudCgq
KSBBUyBjb3VudCBGUk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1bmN0aW9uKHR4LCBycykK
KyAgICAgICAgeworICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0gcnMucm93cy5pdGVtKDAp
LmNvdW50OworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGZhaWxNaWRXYXkoZnVuY3Rpb24o
KSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHRyYW5zYWN0
aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsK
KyAgICBmYWlsTWlkV2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOworICAgIHZlcmlm
eVN1Y2Nlc3MoIlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBj
YWxsYmFjayByZXR1cm4gZmFsc2UiKTsKKyAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2Vw
dGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOworICAgIHZlcmlmeVN1Y2Nlc3MoIlRl
c3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2Fs
bGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKKyAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2Vw
dGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKKyAgICB2ZXJpZnlTdWNjZXNzKCJU
ZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNh
bGxiYWNrIHJldHVybmluZyBmYWxzZSIpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgPGNvZGU+U1FM
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQg
cmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxl
ZCBiYWNrIG9uIGZhaWx1cmUuCis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5Pgor
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2Fj
dGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MjdmNGFjZTczODMzYjVlNmVjNDY4
NmFmZTcwNTk2NDNiZjFkOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FMRVJUOiBQQVNTOiBk
b2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdv
cmxkLgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJh
Y2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vz
cy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhMmRmOTRiMzRhZDU4
NmI0MDc2MzQyMGMwYzcwMzY5M2QyMTc4MmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5
PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sg
aXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PHNjcmlwdD4KK3ZhciB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFja3NJbnZva2VkID0gMDsKK2Z1
bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKyt0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFja3NJ
bnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpKQorICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0
aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eCkKK3sKKyAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBp
c29sYXRlZCB3b3JsZC4iKTsKKyAgICBkb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9u
U3VjY2Vzc0NhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5ib2R5LmJhcik7Cisg
ICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5
LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5ib2R5LmJhciA9ICJQ
QVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0
aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xh
dGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFuc2FjdGlvblN1Y2Nl
c3NDYWxsYmFjazEodHgpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0
KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0n
amF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBk
YjEgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrSXNvbGF0ZWRXb3Js
ZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsgfSwgbnVsbCwgdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sxKTsiKTsKKworICAg
IHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrSXNvbGF0
ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOworICAgIGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0
eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazIpOworfQorPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>141264</attachid>
            <date>2012-05-10 14:43:07 -0700</date>
            <delta_ts>2012-05-16 14:09:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86138-20120510144306.patch</filename>
            <type>text/plain</type>
            <size>292672</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MzkzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGRhY2QxM2I0ODcyNDE0Njg5ZTVk
Y2YzODIzODgwZWU5MmZlYWViYy4uYjA0NjNmYTNhMjg0MmJkZjAwYmYyOTU1NjViYTA3YTNkNjM5
YmFjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4NCBAQAorMjAxMi0wNS0xMCAgSm9zaHVhIEJlbGwgIDxq
c2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgV2ViU1FMIHRlc3RzIGluIExheW91
dFRlc3RzL3N0b3JhZ2UgdG8gd2Vic3FsIGRpcmVjdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdl
L3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1t
YWMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1h
Yy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50
eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFn
ZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3N0YXRlbWVudC1l
cnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1l
eHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13
aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxs
YmFjay1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93
ZWJzcWwvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNv
ZGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
ZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdl
L2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9j
aGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0
LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5k
bGUtcmV1c2UuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1o
YW5kbGUtcmV1c2UuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12
ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcy4KKyAgICAgICAgKGZpbmlzaFRlc3QpOgorICAgICAgICAo
cnVuVGVzdC5jYXRjaCk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJ1blRlc3QyLmNh
dGNoKToKKyAgICAgICAgKHJ1blRlc3QyKToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQ6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9u
LXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1w
cmVmbGlnaHQtZmFpbHVyZS5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12
ZXJzaW9uLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJz
aW9uLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10
ZXN0LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvY2xvc2Ut
ZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0Lmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBl
Y3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1y
ZWxvYWQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9j
ay1hZnRlci1yZWxvYWQuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0
ZW1lbnQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0
eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2VtcHR5
LXN0YXRlbWVudC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1z
dGF0ZW1lbnQuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdz
LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1z
cWwtYXJncy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1z
cWwtYXJncy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNx
bC1hcmdzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5q
czogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5qcy4K
KyAgICAgICAgKHRocm93T25Ub1N0cmluZ09iamVjdC50b1N0cmluZyk6CisgICAgICAgICh2YXIp
OgorICAgICAgICAodHJ5RXhlY3V0ZVNxbCk6CisgICAgICAgIChydW5UcmFuc2FjdGlvblRlc3Qp
OgorICAgICAgICAocnVuVHJhbnNhY3Rpb25UZXN0cyk6CisgICAgICAgIChydW5UZXN0KToKKyAg
ICAgICAgKiBzdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVt
ZW50LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0
ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQuCisgICAgICAgICog
c3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1s
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25s
eS1vbmUtc3RhdGVtZW50Lmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFu
Z2Utd2l0aC14aHItZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS9oYXNoLWNoYW5nZS13aXRoLXhoci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14aHIuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5qczogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIuanMuCisgICAgICAgIChzdG9wSW50ZXJ2YWxzKToK
KyAgICAgICAgKHN0b3BUZXN0KToKKyAgICAgICAgKHVwZGF0ZURhdGFiYXNlKToKKyAgICAgICAg
KGNoZWNrRm9yU3VjY2Vzcyk6CisgICAgICAgIChlcnJvckhhbmRsZXIpOgorICAgICAgICAoc2Vu
ZFhocik6CisgICAgICAgIChpbnZva2VCYWNrKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAg
ICAocnVuVGVzdHNJbm5lcik6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0
YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhw
ZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1n
YXJiYWdlLWNvbGxlY3Rpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uv
bXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sLgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanM6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdl
LWNvbGxlY3Rpb24uanMuCisgICAgICAgIChHQyk6CisgICAgICAgIChjaGVja0NvbXBsZXRpb24p
OgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUt
dHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3Jh
Z2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdl
L3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0
ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2Fj
dGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3Jh
Z2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy5odG1s
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMt
b24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0
aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanM6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFu
ZGxlcy5qcy4KKyAgICAgICAgKGNoZWNrQ29tcGxldGlvbik6CisgICAgICAgIChvcGVuVGVzdERh
dGFiYXNlKToKKyAgICAgICAgKHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgIChz
dGF0ZW1lbnRFcnJvckNhbGxiYWNrKToKKyAgICAgICAgKHJ1blRyYW5zYWN0aW9uKToKKyAgICAg
ICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0
aW9ucy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFu
c2FjdGlvbnMuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2Fj
dGlvbnMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5z
YWN0aW9ucy5qcy4KKyAgICAgICAgKGNoZWNrQ29tcGxldGlvbik6CisgICAgICAgIChydW5UZXN0
LmRiKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL251bGwt
Y2FsbGJhY2tzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uv
bnVsbC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL251
bGwtY2FsbGJhY2tzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL251bGwt
Y2FsbGJhY2tzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1j
cmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9z
dG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNr
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3Jl
YXRpb24tY2FsbGJhY2suaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFi
YXNlLWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24u
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEt
ZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFi
YXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lv
bi1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1z
ZXQtZW1wdHktdmVyc2lvbi5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9v
cGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3Rl
ZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hp
bGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3Jh
Z2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRt
bDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS13aGlsZS10
cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuanM6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4t
cHJvZ3Jlc3MuanMuCisgICAgICAgIChvcGVuVGVzdERhdGFiYXNlKToKKyAgICAgICAgKHJ1blRl
c3QuZGIxLnRyYW5zYWN0aW9uKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3Jh
Z2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0OiBS
ZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1u
b3dyaXRlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJy
b3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvc3RvcmFnZS9xdW90YS10cmFja2luZy5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBlY3RlZC50
eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0
bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qczogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRv
bnQtcnVuLXRvZ2V0aGVyLmpzLgorICAgICAgICAodGVybWluYXRlVGVzdCk6CisgICAgICAgIChv
cGVuVGVzdERhdGFiYXNlKToKKyAgICAgICAgKHJ1blRyYW5zYWN0aW9uKToKKyAgICAgICAgKHJ1
blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5p
bmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQudHh0
LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29u
Y3VycmVudGx5Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJh
bnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5Lmh0bWwuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvcmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qczogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvcmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcy4KKyAgICAgICAgKG9wZW5E
YXRhYmFzZVdpdGhTdWZmaXgpOgorICAgICAgICAobG9nKToKKyAgICAgICAgKHNldExvY2F0aW9u
SGFzaCk6CisgICAgICAgIChzZXR1cEFuZFJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWw6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJl
bG9hZC0yLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcmVzb3VyY2VzL3N0cmVzcy1m
cmFtZS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNvdXJjZXMvc3Ry
ZXNzLWZyYW1lLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMt
ZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10
eXBlcy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlw
ZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zcWwtZGF0YS10eXBlcy5qczogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMuanMuCisgICAgICAgICh3
cml0ZU1lc3NhZ2VUb0xvZyk6CisgICAgICAgIChub3RpZnlEb25lKToKKyAgICAgICAgKHNob3Vs
ZEJlU2FtZVR5cGVBbmRWYWx1ZSk6CisgICAgICAgICh0ZXN0REJWYWx1ZXMpOgorICAgICAgICAo
ZmV0Y2hEQlZhbHVlc1N0bXQpOgorICAgICAgICAoaW5zZXJ0VGVzdFZhbHVlc1N0bXQpOgorICAg
ICAgICAoY3JlYXRlVGVzdERCU3RtdCk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5odG1sOiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdl
L3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3NxbC1lcnJvci1jb2Rlcy5qcy4KKyAgICAgICAgKGZpbmlzaFRlc3QpOgorICAgICAgICAo
dHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKToKKyAgICAgICAgKHRyYW5zYWN0aW9uU3VjY2Vzc0Nh
bGxiYWNrKToKKyAgICAgICAgKHRlc3RUcmFuc2FjdGlvbik6CisgICAgICAgICh0ZXN0VHJhbnNh
Y3Rpb25UaHJvd3NFeGNlcHRpb24pOgorICAgICAgICAodGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJl
Y2F1c2VPZlN0YXRlbWVudEZhaWx1cmUpOgorICAgICAgICAodGVzdEludmFsaWRTdGF0ZW1lbnQp
OgorICAgICAgICAodGVzdEluY29ycmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMpOgorICAgICAg
ICAodGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZS5iYWRTdHJpbmcudG9TdHJpbmcpOgorICAg
ICAgICAodGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZSk6CisgICAgICAgICh0ZXN0UXVvdGFF
eGNlZWRlZCk6CisgICAgICAgICh0ZXN0VmVyc2lvbk1pc21hdGNoLmRiLnRyYW5zYWN0aW9uKToK
KyAgICAgICAgKHRlc3RWZXJzaW9uTWlzbWF0Y2gpOgorICAgICAgICAocnVuVGVzdCk6CisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJy
b3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQt
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1j
YWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAg
ICAgKiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwu
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQu
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVt
ZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNhbGxiYWNrLmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJz
cWwvdGVzdC1hdXRob3JpemVyLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90
ZXN0LWF1dGhvcml6ZXIuanMuCisgICAgICAgICh0ZXJtaW5hdGVUZXN0KToKKyAgICAgICAgKGxv
Z0FuZFRlcm1pbmF0ZVRlc3QpOgorICAgICAgICAoY2xlYW51cCk6CisgICAgICAgIChzdGF0ZW1l
bnRTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAoc3RhdGVtZW50RXJyb3JDYWxsYmFjayk6Cisg
ICAgICAgIChleGVjdXRlU3RhdGVtZW50KToKKyAgICAgICAgKGNyZWF0ZVRhYmxlQ2FsbGJhY2sp
OgorICAgICAgICAoY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKG90aGVyU3Rh
dGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2spOgorICAg
ICAgICAodGVzdFJlYWRXcml0ZU1vZGUpOgorICAgICAgICAodGVzdFJlYWRPbmx5TW9kZS5kYik6
CisgICAgICAgICh0ZXN0UmVhZE9ubHlNb2RlKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1l
eHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlv
bi1jcmFzaC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0
LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwv
dHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQu
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQu
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sLgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5z
YWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKwogMjAxMi0wNS0w
NyAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVt
XSBBZGQgZXhwZWN0YXRpb25zIGZvciBmaXJzdC1saW5lLXRleHQtZGVjb3JhdGlvbi5odG1sLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3Rh
dGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5MzlhY2RkYWFlZjQ3YzY0MzJiZDU2
ZGEzMzQ0OGVlY2NhZjdkZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3RhdGVt
ZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2NzogVW5jYXVnaHQgRXhjZXB0aW9uIGluIHN0
YXRlbWVudCBlcnJvciBjYWxsYmFjawotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSB0cmFuc2Fj
dGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBhIHN0YXRlbWVu
dCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMgdHJ1ZSwgb3Ig
ZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBj
YWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJh
Y2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdh
cyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52
b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQu
Ci1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAt
IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRo
ZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0
cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotVGVzdCBDb21wbGV0ZQot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90
cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2st
ZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNDlhYjBlNzEwMmNjZjFmNmI4NjI1NzY1MWRmNGQwYTdlMmFhODI3YS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTM6IFVuY2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgotSWYgV2ViS2l0
IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxs
YmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDNjZDlkY2ZmZjA1OThiNGM4OTk1MmYzYmEzNThmYzc4ZDNmYjgw
Y2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2Fs
bGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDYzOiBVbmNhdWdodCAjPE9iamVjdD4KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVz
cyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9u
IGZhaWx1cmUuCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3Ig
Y2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZh
aWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUwot
VGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBj
YWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3Rpbmcgc3RhdGVtZW50IGNhbGxi
YWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNl
IDogU1VDQ0VTUwotQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1t
YWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40OTM5YWNkZGFhZWY0N2M2NDMyYmQ1NmRhMzM0NDhlZWNjYWY3ZGVlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uv
d2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3OiBVbmNhdWdodCBFeGNlcHRpb24gaW4gc3Rh
dGVtZW50IGVycm9yIGNhbGxiYWNrCitUaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHRyYW5zYWN0
aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50
J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgcmV0dXJucyB0cnVlLCBvciBk
b2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNh
bGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4K
K1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNT
IC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0g
dGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhl
IHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitUZXN0IENvbXBsZXRlCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDlh
YjBlNzEwMmNjZjFmNmI4NjI1NzY1MWRmNGQwYTdlMmFhODI3YQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2Fj
dGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBA
QAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBVbmNhdWdodCBUcmFuc2FjdGlvbkNhbGxiYWNr
RXJyb3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFzIHBhc3NlZApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxs
YmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NkOWRjZmZmMDU5OGI0Yzg5OTUyZjNiYTM1
OGZjNzhkM2ZiODBjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1
Z2h0ICM8T2JqZWN0PgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBVbmNhdWdodCAjPE9iamVj
dD4KK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBp
cyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJh
bnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCitUZXN0aW5nIHRyYW5z
YWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUg
OiBTVUNDRVNTCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3Ig
Y2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJh
Y2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6
IFNVQ0NFU1MKK1Rlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBh
bmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUworQWxsIFRlc3RzIGFy
ZSBjb21wbGV0ZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxs
YmFjay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ5MzlhY2Rk
YWFlZjQ3YzY0MzJiZDU2ZGEzMzQ0OGVlY2NhZjdkZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2NzogVW5jYXVnaHQg
RXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjawotVGhpcyB0ZXN0IGNvbmZpcm1z
IHRoYXQgYSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25s
eSBpZiBhIHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJl
dHVybnMgdHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotUEFTUyAtIHRoZSB0cmFu
c2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rp
b24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVy
cm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBj
YWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJh
Y2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdh
cyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBp
bnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgot
VGVzdCBDb21wbGV0ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2UvdHJhbnNh
Y3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDlhYjBlNzEwMmNjZjFmNmI4NjI1NzY1MWRmNGQwYTdlMmFhODI3
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1l
eGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFVuY2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tF
cnJvcgotSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2Fj
dGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjZDlkY2ZmZjA1OThiNGM4OTk1MmYz
YmEzNThmYzc4ZDNmYjgwY2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2UvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSAr
MCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgotQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDYzOiBVbmNhdWdodCAjPE9iamVjdD4KLVRoaXMgdGVzdCBjb25m
aXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3Rs
eSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlz
IHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlk
LXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCi1UZXN0aW5n
IHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZh
bHNlIDogU1VDQ0VTUwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0
aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3Rpbmcg
c3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sg
cmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUwotQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTM5YWNkZGFhZWY0N2M2NDMyYmQ1NmRhMzM0NDhl
ZWNjYWY3ZGVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0td2luL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3OiBVbmNhdWdodCBF
eGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCitUaGlzIHRlc3QgY29uZmlybXMg
dGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBvbmx5
IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgcmV0
dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCitQQVNTIC0gdGhlIHRyYW5z
YWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlv
biBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJy
b3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNh
bGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQu
CitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCitU
ZXN0IENvbXBsZXRlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LXdpbi9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uv
d2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDlhYjBlNzEwMmNjZjFmNmI4NjI1NzY1MWRmNGQwYTdlMmFhODI3YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdl
L3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEzOiBVbmNhdWdodCBUcmFu
c2FjdGlvbkNhbGxiYWNrRXJyb3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3Qg
aGFzIHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFuc2Fj
dGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NkOWRjZmZmMDU5
OGI0Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJv
ci1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBV
bmNhdWdodCAjPE9iamVjdD4KK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9u
RXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMg
b3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUu
CitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sg
cmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlk
LXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUworVGVzdGluZyBz
dGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayBy
ZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93
aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VT
UworQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vc3RvcmFnZS9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODI5YmQ4ZDkxYTk5NTdmMzI1YzM4
MGJkMjkwMTljYjgwZGUxMTcyMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3F1b3RhLXRy
YWNraW5nLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVRoaXMg
dGVzdCBjaGVja3MgdG8gbWFrZSBzdXJlIHRoYXQgcXVvdGFzIGFyZSBlbmZvcmNlZCBwZXItb3Jp
Z2luIGluc3RlYWQgb2YgcGVyLWRhdGFiYXNlLCBhcyB0aGV5IHdlcmUgcHJpb3IgdG8gaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9wcm9qZWN0cy93ZWJraXQvY2hhbmdlc2V0LzI5OTgzLgotVGhlIHRl
c3QgY2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRv
IDQwaywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2Vz
LiBJZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWws
IHRoZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3Rh
IGFuZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5n
IDE3ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotQWRkaW5n
IGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBh
IHRhYmxlCi1JbnNlcnRpbmcgc29tZSBkYXRhCi1FeHBlY3RlZCBxdW90YSBleGNlcHRpb24gLSB0
aGVyZSB3YXMgbm90IGVub3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0b3Jh
Z2UgcXVvdGEgd2FzIHJlYWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1vcmUg
c3BhY2UKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxlCi1JbnNlcnRpbmcgc29tZSBk
YXRhCi1VbmV4cGVjdGVkIGV4Y2VwdGlvbiAtIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmlu
ZyBzdG9yYWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhl
IHVzZXIgZGVjbGluZWQgdG8gYWxsb3cgbW9yZSBzcGFjZQotVGVzdCBDb21wbGV0ZQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1j
b2Rlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdl
L3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDlhNjI2YmNjMzI0MmQwMTAwOTI3MzEzNTNjNzZkYzJjZjRiZWVkNWMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTEgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM3OiBVbmNhdWdodCBF
eGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0aW9uIGNhbGxiYWNrLgotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDY5OiBVbmNhdWdodCBDYW5ub3QgY2FsbCB0b1N0cmluZygpIG9uIHRoaXMgb2JqZWN0
LgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJvciBjb2RlcyByZXBvcnRlZCBpbiBleGNlcHRpb25h
bCBzaXR1YXRpb25zLgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05f
RVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6
IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCi1QQVNTOiBleHBlY3RlZCBh
bmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJv
ciBjb2RlIFVOS05PV05fRVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgUVVP
VEFfRVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVkVSU0lPTl9FUlIKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93ZWJzcWwv
cXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjgyOWJkOGQ5MWE5OTU3ZjMyNWMzODBiZDI5MDE5Y2I4MGRlMTE3MjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90YS10
cmFja2luZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0
byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBv
ZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQu
b3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMuCitUaGUgdGVzdCBjbGVhcnMgYWxs
IGRhdGFiYXNlcywgc2V0cyB0aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4gdG8gNDBrLCB0aGVuIHRy
aWVzIHRvIGluc2VydCAxN2sgb2YgZGF0YSBpbnRvIHR3byBkYXRhYmFzZXMuIElmIHRoaW5ncyBn
byBhcyBwbGFubmVkLCB0aGUgc2Vjb25kIGluc2VydCBzaG91bGQgZmFpbCwgdGhlIFVJIERlbGVn
YXRlIHNob3VsZCBiZSBpbmZvcm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVvdGEgYW5kIHNob3VsZCBp
bmNyZWFzZSB0aGUgcXVvdGEgZm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRpbmcgMTdrIG9mIGRhdGEg
dGhlIHRoaXJkIHRpbWUgc2hvdWxkIHN1Y2NlZWQgYWdhaW4uCitBZGRpbmcgYSB0YWJsZQorSW5z
ZXJ0aW5nIHNvbWUgZGF0YQorRG9uZSBhZGRpbmcgZGF0YQorQWRkaW5nIGEgdGFibGUKK0luc2Vy
dGluZyBzb21lIGRhdGEKK0V4cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtIHRoZXJlIHdhcyBub3Qg
ZW5vdWdoIHJlbWFpbmluZyBzdG9yYWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3YXMg
cmVhY2hlZCBhbmQgdGhlIHVzZXIgZGVjbGluZWQgdG8gYWxsb3cgbW9yZSBzcGFjZQorRG9uZSBh
ZGRpbmcgZGF0YQorQWRkaW5nIGEgdGFibGUKK0luc2VydGluZyBzb21lIGRhdGEKK1VuZXhwZWN0
ZWQgZXhjZXB0aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3Bh
Y2UsIG9yIHRoZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5l
ZCB0byBhbGxvdyBtb3JlIHNwYWNlCitUZXN0IENvbXBsZXRlCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNx
bC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhNjI2YmNjMzI0MmQw
MTAwOTI3MzEzNTNjNzZkYzJjZjRiZWVkNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzNzogVW5jYXVn
aHQgRXhjZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4KK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA2OTogVW5jYXVnaHQgQ2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlzIG9i
amVjdC4KK1RoaXMgdGVzdCB0ZXN0cyB0aGUgZXJyb3IgY29kZXMgcmVwb3J0ZWQgaW4gZXhjZXB0
aW9uYWwgc2l0dWF0aW9ucy4KK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBVTktO
T1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQ
QVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VSUgorUEFTUzogZXhwZWN0
ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZTlRBWF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3Qg
ZXJyb3IgY29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2Rl
IFFVT1RBX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFZFUlNJT05fRVJS
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dAppbmRleCAwZjMzNWIxMmRiYTZlOTExNGUyOTI1MDQxNWQ0ZDliZTBhZmMzZDZlLi5m
MzU1OTRjODZlODFhNjIwZjBhMTQ2YWY1MmQ3YTA5YWE2OTUxMWRlIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC01Nzks
NyArNTc5LDcgQEAgV09OVEZJWCBTS0lQIDogcGx1Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUu
aHRtbCA9IEZBSUwKIFdPTlRGSVggU0tJUCA6IHBsdWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2Rl
LTIuaHRtbCA9IFRFWFQKIFdPTlRGSVggU0tJUCA6IHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0
b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1hZmZlY3RzLXN0b3JhZ2UuaHRtbCA9IEZBSUwKIFdPTlRG
SVggU0tJUCA6IHN0b3JhZ2UvZG9tc3RvcmFnZS9zZXNzaW9uc3RvcmFnZS9wcml2YXRlLWJyb3dz
aW5nLWFmZmVjdHMtc3RvcmFnZS5odG1sID0gRkFJTAotV09OVEZJWCBTS0lQIDogc3RvcmFnZS9w
cml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwgPSBQQVNTCitXT05URklYIFNLSVAg
OiBzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwgPSBQ
QVNTCiAKIC8vIFdlIGRvbid0IGxldCBhbnlvbmUgc2V0IHN0YXR1cyBpbiB0aGUgYnJvd3Nlci4K
IFdPTlRGSVggU0tJUCA6IHBsdWdpbnMvc2V0LXN0YXR1cy5odG1sID0gVEVYVApAQCAtMTA5MSw3
ICsxMDkxLDcgQEAgQlVHQ1IzMzIxMSBXSU4gREVCVUcgOiBodHRwL3Rlc3RzL2xvYWRpbmcvZGVs
ZXRlZC1ob3N0LWluLXJlc291cmNlLWxvYWQtZGVsZWdhdGUKIEJVR0NSMzMyMTEgTElOVVggTUFD
IDogaHR0cC90ZXN0cy9sb2FkaW5nL2RlbGV0ZWQtaG9zdC1pbi1yZXNvdXJjZS1sb2FkLWRlbGVn
YXRlLWNhbGxiYWNrLmh0bWwgPSBUSU1FT1VUCiAKIC8vIEhUTUw1IERCIGxheW91dCB0ZXN0cwot
QlVHQ1IyNzY5NyBTS0lQIDogc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1sID0gUEFT
UworQlVHQ1IyNzY5NyBTS0lQIDogc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14aHIu
aHRtbCA9IFBBU1MKIAogLy8gSW1wbGVtZW50YXRpb24gb2YgRGF0ZS90aW1lIGlucHV0IHR5cGVz
IGFyZSBpbmNvbXBsZXRlIGFuZAogLy8gRU5BQkxFX0lOUFVUX1RZUEVfKiBmbGFncyBhcmUgbm90
IGVuYWJsZWQuCkBAIC0xODYzLDcgKzE4NjMsNyBAQCBCVUdfSkFQSEVUIFdJTiA6IGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3QtNTBtcy1kb3dubG9hZC1kaXNwYXRjaAog
Ly8gRHVlIHRvIHRoZSBkaWZmZXJlbmNlcyBpbiBoYW5kbGluZyB0ZXh0IGVuY29kaW5ncyBpbiBL
VVJMIGFuZCBnb29nbGV1cmwuCiBCVUdXSzIwNTU5IDogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2Fu
Y2hvci1mcmFtZXMtZ2JrLmh0bWwgPSBURVhUCiAKLUJVR1dLMzY2NjYgOiBzdG9yYWdlL29wZW4t
ZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sID0gVEVYVAorQlVHV0szNjY2NiA6IHN0b3JhZ2Uvd2Vi
c3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sID0gVEVYVAogCiBCVUdXSzM3MjgzIDog
ZmFzdC9vdmVyZmxvdy9zY3JvbGxiYXItcmVzdG9yZWQtYW5kLXRoZW4tbG9ja2VkLmh0bWwgPSBU
RVhUCiAKQEAgLTIxMDksNyArMjEwOSw3IEBAIEJVR1dLNjMwNTcgUkVMRUFTRSA6IHBlcmYvYWRk
aW5nLXJhZGlvLWJ1dHRvbnMuaHRtbCA9IE1JU1NJTkcgRkFJTCBQQVNTCiAvLyBGYWlsaW5nIGFm
dGVyIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzY1NjY1LwogCiAvLyBuZXcgb3Ig
ZmFpbGluZyBzaW5jZSBXZWJLaXQgcmV2LiA2NTc0MDo2NTgwMAotQlVHQ1I1MzA3MyBTS0lQIERF
QlVHIDogc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sID0gUEFTUyBDUkFTSAorQlVHQ1I1MzA3
MyBTS0lQIERFQlVHIDogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24uaHRtbCA9IFBBU1Mg
Q1JBU0gKIAogLy8gcjY2MTQ0IGFkZGVkIHRlc3RzIHRvIHRlc3QgdXNlciBzY3JpcHRzIG9uIHNw
ZWNpYWwgZG9jdW1lbnRzLCBhbmQgTGludXggY2FuJ3QKIC8vIHBhc3MgdGhlbSBiZWNhdXNlIHRo
ZXkgcmVseSBvbiBRdWlja1RpbWUgYmVpbmcgaW5zdGFsbGVkLiBXZSB3b250Zml4IHRoZXNlCkBA
IC0zNTMwLDkgKzM1MzAsOSBAQCBCVUdXSzgyMTI5IE1BQyA6IGZhc3QvYmxvY2svbGluZWJveGNv
bnRhaW4vZ2x5cGhzLmh0bWwgPSBURVhUCiAKIEJVR1dLODI2NjkgTElOVVggV0lOIExFT1BBUkQg
OiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9zcGFjZXMtY29tYmluZWQtaW4tdmVydGljYWwtdGV4
dC5odG1sID0gVEVYVAogCi1CVUdXSzgyNzE3IFNOT1dMRU9QQVJEIDogc3RvcmFnZS9xdW90YS10
cmFja2luZy5odG1sID0gUEFTUyBUSU1FT1VUCi1CVUdXSzgyNzE3IFNOT1dMRU9QQVJEIDogc3Rv
cmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwgPSBQQVNTIFRJ
TUVPVVQKLUJVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0
ZXItcmVsb2FkLmh0bWwgPSBQQVNTIFRJTUVPVVQKK0JVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBz
dG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sID0gUEFTUyBUSU1FT1VUCitCVUdXSzgy
NzE3IFNOT1dMRU9QQVJEIDogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHkt
b25lLXN0YXRlbWVudC5odG1sID0gUEFTUyBUSU1FT1VUCitCVUdXSzgyNzE3IFNOT1dMRU9QQVJE
IDogc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCA9IFBBU1Mg
VElNRU9VVAogCiAvLyBUaGVzZSB0ZXN0cyBkZXBlbmRzIG9uIFdvcmtlciBiZWhhdmlvciB0aGF0
IGlzIGJyb2tlbiBpbiBEUlQKIEJVR1dLODI3NzYgU0tJUCA6IHN0b3JhZ2UvaW5kZXhlZGRiL2Rv
bnQtY29tbWl0LW9uLWJsb2NrZWQuaHRtbCA9IFBBU1MgRkFJTApAQCAtMzY4Myw3ICszNjgzLDcg
QEAgQlVHV0s4NTE3NCA6IGZhc3QvZmlsZXN5c3RlbS9maWxlLXdyaXRlci1nYy1ibG9iLmh0bWwg
PSBUSU1FT1VUCiBCVUdXSzg1MTc0IDogZmFzdC9maWxlc3lzdGVtL3dvcmtlcnMvZmlsZS13cml0
ZXItZ2MtYmxvYi5odG1sID0gVEVYVAogQlVHV0s4NTE3NCBNQUMgTElOVVggOiBmYXN0L2ZpbGVz
eXN0ZW0vd29ya2Vycy9maWxlLXdyaXRlci1zeW5jLXRydW5jYXRlLWV4dGVuZC5odG1sID0gVEVY
VAogQlVHV0s4NTE3NCA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvZmlsZXN5c3RlbS1pZnJhbWUtZnJv
bS1yZW1vdGUuaHRtbCA9IFRFWFQKLUJVR1dLODUxNzQgOiBzdG9yYWdlL2luZGV4ZWRkYi9ub2Js
b2JzLmh0bWwgPSBURVhUCitCVUdXSzg1MTc0IDogc3RvcmFnZS9pbmRleGVkZGIvbm9ibG9icy5o
dG1sID0gUEFTUyBURVhUCiAKIEJVR1dLODUxMjAgOiBmYXN0L2pzL3RvU3RyaW5nLW51bWJlci5o
dG1sID0gVEVYVAogCkBAIC0zOTA0LDggKzM5MDQsOCBAQCBCVUdXSzgzMDc2IFNOT1dMRU9QQVJE
IFJFTEVBU0UgOiBodHRwL3Rlc3RzL2xvYWRpbmcvMzA3LWFmdGVyLTMwMy1hZnRlci1wb3N0Lmh0
bQogQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogaHR0cC90ZXN0cy9taXNjL29iamVj
dC1lbWJlZGRpbmctc3ZnLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi54aHRtbCA9IFRJTUVPVVQg
UEFTUwogQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogcGxhdGZvcm0vY2hyb21pdW0v
dmlydHVhbC9ncHUvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC50ZXh0LWN1c3RvbS1mb250LWxvYWQt
Y3Jhc2guaHRtbCA9IFRJTUVPVVQgUEFTUwogQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNF
IDogcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvMmQudGV4dC5kcmF3
LmZpbGwubWF4V2lkdGguZ3JhZGllbnQuaHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBT
Tk9XTEVPUEFSRCBSRUxFQVNFIDogc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMt
ZG9udC1ydW4tdG9nZXRoZXIuaHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVP
UEFSRCBSRUxFQVNFIDogc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJl
bnRseS5odG1sID0gVElNRU9VVCBQQVNTCitCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVBU0Ug
OiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9n
ZXRoZXIuaHRtbCA9IFRJTUVPVVQgUEFTUworQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNF
IDogc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHku
aHRtbCA9IFRJTUVPVVQgUEFTUwogCiBCVUdEUFJBTktFIE1BQyBMSU5VWCBSRUxFQVNFIDogZmFz
dC9sb2FkZXIvamF2YXNjcmlwdC11cmwtaW4tZW1iZWQuaHRtbCA9IFRFWFQgUEFTUwogQlVHRFBS
QU5LRSBNQUMgTElOVVggOiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtbW9k
aWZ5LXNlbGYuaHRtbCA9IFRFWFQgUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC90
ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggMDk0OGNhYzUyYWJjMjIyYmY3YjljYjZjODU3NDcw
ZDI4ZDRmYTZkYi4uN2ZkYmFhNGM4OTVlOGU4MjFlZWI4ZGM3YWFiOWVlMGY5ZmM5NzU4NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC02
OSwxMiArNjksMTIgQEAgQlVHV0tFRkwgU0tJUCA6IHN0b3JhZ2UvZG9tc3RvcmFnZS9sb2NhbHN0
b3JhZ2Uvc3RvcmFnZXRyYWNrZXIgPSBGQUlMCiAKIC8vIEVGTCdzIExheW91dFRlc3RDb250cm9s
bGVyIGRvZXMgbm90IGltcGxlbWVudCBldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZC4KIEJV
R1dLRUZMIFNLSVAgOiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQgPSBGQUlMCi1C
VUdXS0VGTCBTS0lQIDogc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCi1CVUdXS0VGTCBTS0lQIDogc3RvcmFnZS9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKLUJVR1dLRUZMIFNL
SVAgOiBzdG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0
bWwgPSBGQUlMCi1CVUdXS0VGTCBTS0lQIDogc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0tFRkwgU0tJUCA6IHN0b3JhZ2UvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKLUJVR1dLRUZM
IFNLSVAgOiBzdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQuaHRtbCA9IEZBSUwKK0JVR1dLRUZMIFNLSVAgOiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFi
YXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCitCVUdXS0VG
TCBTS0lQIDogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLmh0bWwgPSBGQUlMCitCVUdXS0VGTCBTS0lQIDogc3RvcmFnZS93ZWJzcWwvc3RhdGVt
ZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLRUZM
IFNLSVAgOiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sID0gRkFJTAorQlVHV0tFRkwgU0tJUCA6IHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9u
LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCitCVUdXS0VGTCBTS0lQ
IDogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC5odG1sID0gRkFJTAogCiAvLyBFRkwncyBMYXlvdXRUZXN0Q29udHJvbGxlciBkb2VzIG5v
dCBpbXBsZW1lbnQgbGF5ZXJUcmVlQXNUZXh0CiBCVUdXSzgyMjk0IDogY29tcG9zaXRpbmcvYW5p
bWF0aW9uL2FuaW1hdGlvbi1jb21wb3NpdGluZy5odG1sID0gVEVYVApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYzkzOWUzNjUwYzU1NzNmYjlmOGRkMDc2ZWRjMjE5MmY5ODdmNzFlZS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIEpTIGRhdGFiYXNlLmNoYW5nZVZl
cnNpb24oKSBmdW5jdGlvbiB3b3JrcyBhcyBleHBlY3RlZC4KLUZpbmlzaGVkIHRlc3RzIHdpdGgg
dmVyc2lvbiAzOyBleHBlY3RlZCB2ZXJzaW9uOiAzCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNl
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y3NjQ4MWIzNGVj
Mjg1NjFkZTAyNzIzNGM1OTdmOWU0Zjg5YTE1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhh
bmRsZS1yZXVzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRo
aXMgdGVzdHMgdGhhdCBhIGRhdGFiYXNlIGNhbiBiZSBhY2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBp
dHMgdmVyc2lvbi4gWW91IHNob3VsZCBzZWUgYW4gZXJyb3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJl
bG93LCBub3QgYWJvdXQgbWlzbWF0Y2hpbmcgdmVyc2lvbnMuCi1jaGFuZ2VWZXJzaW9uOiB0cmFu
c2FjdGlvbiBjYWxsYmFjawotY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjawotdHJhbnNh
Y3Rpb246IHN0YXRlbWVudCBlcnJvciBjYWxsYmFjazogY291bGQgbm90IHByZXBhcmUgc3RhdGVt
ZW50ICgxIG5vIHN1Y2ggdGFibGU6IEZvb0JhcikKLVRFU1QgQ09NUExFVEUuCi0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjNmYmY0ODRkN2E4NWEzNDkwYjUxNWI3MDg5
NTQ0YWVlMDg2ZmExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4gCi08aGVhZD4KLTxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJjaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMiPjwvc2NyaXB0PgotPC9oZWFkPiAKLTxi
b2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCkiPiAKLTxkaXY+VGhpcyB0ZXN0cyB0aGF0IGEg
ZGF0YWJhc2UgY2FuIGJlIGFjY2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ug
c2hvdWxkIHNlZSBhbiBlcnJvciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBt
aXNtYXRjaGluZyB2ZXJzaW9ucy4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3Qg
ZGlkbid0IHJ1bi4KLTwvcHJlPiAKLTwvYm9keT4gCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA4NDdhNThjM2I5MWZmMmM1MDgwZjJjOTIwYTVkNDFhYmNiNWNlMmEy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsNDYgKzAsMCBAQAotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgbG9nKCJURVNU
IENPTVBMRVRFLiIpOwotCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBy
dW5UZXN0KCkKLXsKLSAgICB0cnkgewotICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZm
aXgoIkNoYW5nZVZlcnNpb24iLCAiIiwgIlRlc3QgdGhhdCBjaGFuZ2luZyBhIGRhdGFiYXNlIHZl
cnNpb24gZG9lc24ndCBraWxsIG91ciBoYW5kbGUgdG8gaXQiLCAxKTsKLSAgICAgICAgdmFyIHZl
cnNpb24gPSBkYi52ZXJzaW9uOwotICAgICAgICB2YXIgbmV3VmVyc2lvbiA9IHZlcnNpb24gPyAo
cGFyc2VJbnQodmVyc2lvbikgKyAxKS50b1N0cmluZygpIDogIjEiOyAKLSAgICAgICAgZGIuY2hh
bmdlVmVyc2lvbih2ZXJzaW9uLCBuZXdWZXJzaW9uLCBmdW5jdGlvbih0eCkgewotICAgICAgICAg
ICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlvbiBjYWxsYmFjayIpOwotICAgICAgICB9
LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBlcnJv
ciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICB9LCBmdW5jdGlvbigpIHsK
LSAgICAgICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjayIpOwotICAg
ICAgICAgICAgcnVuVGVzdDIoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIAotICAgIH0gY2F0Y2gg
KGUpIHsKLSAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uIGV4Y2VwdGlvbjogIiArIGUpOwotICAg
ICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotIAotZnVuY3Rpb24gcnVuVGVzdDIoKQotewot
ICAgIHRyeSB7Ci0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAg
ICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBmcm9tIEZvb0JhciIsIFtdLCBmdW5jdGlvbih0
eCkgewotICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBjYWxsYmFj
ayIpOwotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIH0sIGZ1bmN0
aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRl
bWVudCBlcnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgIGxvZygidHJhbnNhY3Rpb24gZXhjZXB0aW9uOiAiICsgZSk7Ci0gICAg
ICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJl
ZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiYjBkNTQ5Y2IwY2Q0N2RmYTg2NjFlNmU2YzU5ODkwNDNiOTljMzMxLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hh
bmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBubyBh
c3NlcnRpb24gaXMgdHJpZ2dlcmVkIHdoZW4gY2hhbmdlVmVyc2lvbigpJ3MgcHJlZmxpZ2h0IHN0
ZXAgZmFpbHMuCi1QQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBh
bmQgbm8gYXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVm
bGlnaHQtZmFpbHVyZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTUxMmZi
OWFjOTFkZmI0ZGEyYzhmMmU4MzZkYmM1MDg3NjU5MTIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNp
b24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDM2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmluaXNoVGVz
dCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBsb2cobWVzc2Fn
ZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCAr
PSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgIH0KLQotICAgIHZhciBkYiA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoIkNoYW5nZVZl
cnNpb25GYWlsdXJlVGVzdCIsICIxIiwgIlRlc3QgdGhlIHByZWZsaWdodCBzdGVwIiwgMTAyNCk7
Ci0gICAgZGIuY2hhbmdlVmVyc2lvbigiMiIsICIzIiwgbnVsbCwgZnVuY3Rpb24oZXJyb3IpIHsK
LSAgICAgICAgbG9nKCJQQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVk
LCBhbmQgbm8gYXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4iKTsKLSAgICAgICAgZmluaXNoVGVz
dCgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBsb2coIkZBSUw6IGRiLmNoYW5nZVZl
cnNpb24oKSB3YXMgZXhwZWN0ZWQgdG8gZmFpbC4iKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwot
ICAgIH0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsi
PgotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgbm8gYXNzZXJ0aW9uIGlzIHRyaWdnZXJlZCB3aGVu
IGNoYW5nZVZlcnNpb24oKSdzIHByZWZsaWdodCBzdGVwIGZhaWxzLgotPHByZSBpZD0iY29uc29s
ZSI+PC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2NoYW5nZS12ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJz
aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5YmI5ZGY1ODhiOTRjZGRj
MDNiMmY3OWFjOWFhNGYwNjY0NmI5NWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+VGVz
dCBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uPC90aXRsZT4KLTxzY3JpcHQ+Ci12YXIgZGIxOwotdmFy
IEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCA9ICcyJzsKLXZhciBFWFBFQ1RFRF9W
RVJTSU9OX0FGVEVSX1JFTE9BRCA9ICczJzsKLQotZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsg
fQotCi1mdW5jdGlvbiBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2sodHgpCi17Ci0gICAgdHguZXhlY3V0
ZVNxbCgiRFJPUCB0YWJsZSBpZiBleGlzdHMgaW5mbzsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1w
dHlGdW5jdGlvbik7Ci0gICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIHRhYmxlIGlmIG5vdCBleGlz
dHMgaW5mbyAodmVyc2lvbiBJTlRFR0VSKTsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5j
dGlvbik7Ci0gICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIGludG8gaW5mbyB2YWx1ZXMoPyk7Iiwg
W0VYUEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5j
dGlvbik7Ci19Ci0KLWZ1bmN0aW9uIGNoYW5nZVZlcnNpb25TdWNjZXNzKCkKLXsKLSAgICBsb2co
IlN1Y2Nlc3NmdWxseSBjaGFuZ2VkIHZlcnNpb24gdG8gIiArIGRiMS52ZXJzaW9uICsgIi4gUmVs
b2FkaW5nLiIpOwotICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsg
Jz8yJzsKLX0KLQotZnVuY3Rpb24gY2hhbmdlVmVyc2lvbkVycm9yKGVycm9yKQotewotICAgIGxv
ZygiRXJyb3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1
bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICBsb2co
IlRFU1QgQ09NUExFVEUiKTsKLX0KLQotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJc
biI7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubG9jYXRpb24u
c2VhcmNoID09ICI/MiIpIHsKLSAgICAgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hh
bmdldmVyc2lvbi10ZXN0IiwgIiIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lv
bigpIGZ1bmN0aW9uIiwgMTAyNCk7Ci0gICAgICAgIGxvZygiRmluaXNoZWQgdGVzdHMgd2l0aCB2
ZXJzaW9uICIgKyBkYjEudmVyc2lvbiArICI7IGV4cGVjdGVkIHZlcnNpb246ICIgKyBFWFBFQ1RF
RF9WRVJTSU9OX0FGVEVSX1JFTE9BRCk7Ci0KLSAgICAgICAgLy8gUmVzZXQgdGhlIERCIHZlcnNp
b24gb3IgdGhlIG5leHQgcnVuIG1pZ2h0IGZhaWwuCi0gICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9u
KGRiMS52ZXJzaW9uLCAiMSIpOwotCi0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UK
LSAgICAgICAgdGVzdFBhcnQxKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RQYXJ0MSgpIHsKLSAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgIH0KLQotICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNp
b24tdGVzdCIsICIxIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVu
Y3Rpb24iLCAxMDI0KTsKLSAgICB2YXIgZGIyID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdl
dmVyc2lvbi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24o
KSBmdW5jdGlvbiIsIDEwMjQpOwotCi0gICAgLy8gRmlyc3QgcnVuIEhpeGllJ3MgdGVzdCB0byBl
bnN1cmUgYmFzaWMgY2hhbmdlVmVyc2lvbiBmdW5jdGlvbmFsaXR5IHdvcmtzIChzZWUgYnVnIDI4
NDE4KS4KLSAgICBkYjEuY2hhbmdlVmVyc2lvbigiMSIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJf
SElYSUVfVEVTVCwgbnVsbCwgZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgbG9nKCJGQUlMIGluIGNo
YW5nZVZlcnNpb246IiArIGUpOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSwgZnVuY3Rp
b24gKCkgewotICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZlcnNpb24gY2hhbmdlIGhhcyBwcm9w
YWdhdGVkIHRvIGRiMiB0b28uCi0gICAgICAgIC8vIEFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNo
b3VsZCBmYWlsLgotICAgICAgICBpZiAoZGIyLnZlcnNpb24gIT0gZGIxLnZlcnNpb24pIHsKLSAg
ICAgICAgICAgIGxvZygiRkFJTDogY2hhbmdpbmcgZGIxJ3MgdmVyc2lvbiAoIiArIGRiMS52ZXJz
aW9uICsgIikgZGlkIG5vdCBjaGFuZ2UgZGIyJ3MgdmVyc2lvbiAoIiArIGRiMi52ZXJzaW9uICsg
IikgYXMgZXhwZWN0ZWQuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0K
LSAgICAgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKLSAg
ICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBs
b2coIkZBSUw6IFRoZSBEQiB2ZXJzaW9uIGNoYW5nZWQsIGFsbCB0cmFuc2FjdGlvbnMgb24gZGIy
IHNob3VsZCBmYWlsLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9KTsK
LQotICAgICAgICAvLyBNYWtlIHN1cmUgYW55IG5ldyBoYW5kbGUgdG8gdGhlIHNhbWUgREIgc2Vl
cyB0aGUgbmV3IHZlcnNpb24KLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHZhciBkYjMgPSBv
cGVuRGF0YWJhc2UoImNoYW5nZS12ZXJzaW9uLXRlc3QiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVS
X0hJWElFX1RFU1QsICIiLCAwKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAg
bG9nKCJGQUlMIGluIG9wZW5EYXRhYmFzZTogIiArIGUpOwotICAgICAgICAgICAgZmluaXNoVGVz
dCgpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChkYjEudmVyc2lvbiAhPSBkYjMudmVyc2lvbikg
ewotICAgICAgICAgICAgbG9nKCJGQUlMOiBkYi52ZXJzaW9uKCIgKyBkYjEudmVyc2lvbiArICIp
IGRvZXMgbm90IG1hdGNoIGRiMy52ZXJzaW9uKCIgKyBkYjMudmVyc2lvbiArIikiKTsKLSAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIE5vdyB0cnkgYSB0
ZXN0IHRvIGVuc3VyZSB0aGUgdmVyc2lvbiBwZXJzaXN0cyBhZnRlciByZWxvYWRpbmcgKHNlZSBi
dWcgMjc4MzYpCi0gICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKEVYUEVDVEVEX1ZFUlNJT05fQUZU
RVJfSElYSUVfVEVTVCwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQUQsIGNoYW5nZVZlcnNp
b25DYWxsYmFjaywgY2hhbmdlVmVyc2lvbkVycm9yLCBjaGFuZ2VWZXJzaW9uU3VjY2Vzcyk7Ci0g
ICAgfSk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+
Ci1UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigp
IGZ1bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgotPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1
cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3Nl
LWR1cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDJhYWQ5MGMxNjI5ZTUwYjBlNjA1MmNmOGI2ZTQ3ZTEzZTEwMWMwMjIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNSArMCwwIEBACi1TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFzc2VydGlvbiBmYWls
dXJlLgotCi1BIEphdmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwg
aG93ZXZlciwgYXMgdGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBm
cmFtZS4gSXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJhc2UgYWN0aXZpdHkgYnkgdGhy
b3dpbmcgYW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay4KLQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNWNjNTJmZDk1NTBkOTllNDRhYjg2MzBmYzY3MDJlZDk0Mjg4NTdlMi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMTkgKzAsMCBAQAotPGJvZHk+Ci08cD5TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFz
c2VydGlvbiBmYWlsdXJlLjwvcD4KLTxwPkEgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25z
b2xlIGlzIGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVk
IHdoZW4gY2xvc2luZyBhIGZyYW1lLgotSXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJh
c2UgYWN0aXZpdHkgYnkgdGhyb3dpbmcgYW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay48L3A+
Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0VGVzdCgpCi17Ci0gICAgc2V0VGlt
ZW91dCgiZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdLnNyYyA9ICdh
Ym91dDpibGFuayciLCAxMDApOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIs
IDUwMCk7Ci19Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc3RyZXNzLWZyYW1l
Lmh0bWwiIG9ubG9hZD0ic3RhcnRUZXN0KCkiPjwvaWZyYW1lPgotPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjcyOTU2M2FiODA4Y2Iz
ZGJlZDc3MjUyZTdlNDAyMTJiNTBjZDMyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXIt
cmVsb2FkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotSW5zZXJ0
aW5nIHNvbWUgZGF0YQotVGVzdCBwYXJ0IDIgQ29tcGxldGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1YjU5ODlmNzgwMjU3Y2ZkM2JhNDk5OTU4NWU0ZTU3NjUyMTJiMTUw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5l
ckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17
Ci0gICAgbG9nKCJUZXN0IHBhcnQgMSBDb21wbGV0ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKLX0KLQotZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKLXsKLSAgICBsb2coIlRlc3Qg
ZmFpbGVkIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlzaFRlc3QoKTsKLX0KLQotZnVu
Y3Rpb24gYWRkRGF0YShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewot
ICAgICAgICBsb2coIkluc2VydGluZyBzb21lIGRhdGEiKTsKLSAgICAgICAgLy8gTG9hZCBhIG5l
dyBwYWdlIHdoaWxlIHRoZSB0cmFuc2FjdGlvbiBpcyBzdGlsbCBpbiBwcm9ncmVzcywgaW50ZXJy
dXB0aW5nIHRoZSB0cmFuc2FjdGlvbi4KLSAgICAgICAgLy8gVGhpcyBzaG91bGQgbm90IGxlYXZl
IHRoZSBkYXRhYmFzZSBsb2NrZWQgYW5kIG9uIHRoZSBuZXh0IHBhZ2Ugd2Ugc2hvdWxkIGJlIGFi
bGUgdG8gaW5zZXJ0Ci0gICAgICAgIC8vIHNvbWUgbW9yZSBkYXRhLgotICAgICAgICB0eC5leGVj
dXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0Io
NTI0MjAwKSkiLCBbXSwKLSAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgbG9jYXRp
b24uaHJlZiA9ICIuL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwi
OyB9LAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVycm9yRnVuY3Rpb24oZXJy
b3IpOyB9KTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHRl
c3REYXRhKSBWQUxVRVMgKFpFUk9CTE9CKDUyNDIwMCkpIik7Ci0gICAgfSwgZXJyb3JGdW5jdGlv
biwgZnVuY3Rpb24oKSB7IGZpbmlzaFRlc3QoKTsgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3Qo
KQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7Ci0gICAgfQotCi0gICAgdmFyIGRhdGFiYXNlOwotICAgIHRyeSB7Ci0g
ICAgICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUxvY2tUZXN0IiwgIjEuMCIs
ICJUZXN0IGZvciBkYXRhYmFzZSBsb2NraW5nIiwgNTI0Mjg4MCk7Ci0gICAgfSBjYXRjaCAoZSkg
ewotICAgICAgICBsb2coIkVycm9yIC0gY291bGQgbm90IG9wZW4gZGF0YWJhc2UiKTsKLSAgICAg
ICAgZmluaXNoVGVzdCgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0
aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiQWRkaW5nIGEgdGFibGUiKTsKLSAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0ICh0ZXN0RGF0YSkiLCBbXSwgZnVuY3Rpb24o
dHgsIHJlc3VsdCkgeyB9LAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVycm9y
RnVuY3Rpb24oZXJyb3IpOyB9KTsKLSAgICB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsg
YWRkRGF0YShkYXRhYmFzZSk7IH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4K
LQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1l
bnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGQ5ZGNhNGUyNzM1MzRk
YjNkODMzYjY5OTk1MGRjYjE1MTg0YWJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotRXhlY3V0ZWQgYW4gZW1wdHkg
c3RhdGVtZW50LiBJZiB5b3UgZGlkbid0IHNlZSBhIGNyYXNoIG9yIGFzc2VydGlvbiwgdGhlIHRl
c3QgcGFzc2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRl
bWVudC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZlYzViOGNhYzVlNGE1ODI2MDg3NmJiNTM5ZmI4
YmFiNjA0Y2Y0OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVudC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzYgKzAsMCBAQAotPGh0bWw+Ci0KLTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
d3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24g
ZXhlY3V0ZUVtcHR5U3RhdGVtZW50KHRyYW5zYWN0aW9uKQotewotICAgIHRyYW5zYWN0aW9uLmV4
ZWN1dGVTcWwoIiIpOwotICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJFeGVjdXRlZCBhbiBlbXB0eSBz
dGF0ZW1lbnQuIElmIHlvdSBkaWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0aGUgdGVz
dCBwYXNzZWQuIik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5U
ZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJh
c2UoIkVtcHR5U3RhdGVtZW50VGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIGFuIGVtcHR5IHN0
YXRlbWVudCB0ZXN0IiwgMSk7Ci0gICAgZGIudHJhbnNhY3Rpb24oZXhlY3V0ZUVtcHR5U3RhdGVt
ZW50KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KLTxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGUzMGI0YmRkNmNmZGJmMmQ5MjAzOWQ1NWEyOWU5MzY3
YzYyZDFhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMjkgKzAsMCBAQAotUEFTUy4gZXhlY3V0ZVNxbChudWxsKSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCh1bmRlZmluZWQpIGRpZCBub3QgdGhy
b3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKDApIGRpZCBub3QgdGhyb3cgYW4gZXhj
ZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgot
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBB
U1MuIGV4ZWN1dGVTcWwoIiIsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24K
LVBBU1MuIGV4ZWN1dGVTcWwoIiIsIFtdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFT
Uy4gZXhlY3V0ZVNxbCgiIiwgWyAiYXJnMCIgXSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24K
LVBBU1MuIGV4ZWN1dGVTcWwoIiIsIHsgfSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBB
U1MuIGV4ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAwIH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0
aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiLCB7IGxlbmd0aDogMSwgMDogImFyZzAiIH0pIGRpZCBu
b3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsKSBk
aWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgdW5k
ZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwg
bnVsbCwgeyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgi
IiwgbnVsbCwgbnVsbCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4
ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNl
cHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsIHsgfSkgZGlkIG5vdCB0aHJv
dyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoKSB0aHJldyBhbiBleGNlcHRpb24gYXMg
ZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKHRocm93T25Ub1N0cmluZ09iamVjdCkgdGhyZXcg
YW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgdGhyb3dPbkdl
dExlbmd0aE9iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhl
Y3V0ZVNxbCgiIiwgdGhyb3dPbkdldFplcm9PYmplY3QpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBl
eHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIFsgdGhyb3dPblRvU3RyaW5nT2JqZWN0IF0p
IHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIDAp
IHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsICIi
KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBu
dWxsLCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3Fs
KCIiLCBudWxsLCAiIikgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhl
Y3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgMCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVk
LgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgIiIpIHRocmV3IGFuIGV4Y2VwdGlv
biBhcyBleHBlY3RlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRl
LXNxbC1hcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjlmMmE0M2FiYWEzNjdjZDk1Y2IwMjY4
YzlmNzRjOTg2YTk5YzVjYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDEzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZXhlY3V0
ZS1zcWwtYXJncy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ic2V0dXBB
bmRSdW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3Qg
cnVuLgotPC9wcmU+IAotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1
dGUtc3FsLWFyZ3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiOTQxNGRiM2Nh
M2M4MDUwNjFiZGFjNmFjNmM4ZmI3ZDdmYzkwMmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdz
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotdmFyIHRocm93T25Ub1N0cmluZ09i
amVjdCA9IHsgfTsKLXRocm93T25Ub1N0cmluZ09iamVjdC50b1N0cmluZyA9IGZ1bmN0aW9uICgp
IHsgdGhyb3cgIkNhbm5vdCBjYWxsIHRvU3RyaW5nIG9uIHRoaXMgb2JqZWN0LiIgfTsKLQotdmFy
IHRocm93T25HZXRMZW5ndGhPYmplY3QgPSB7IH07Ci10aHJvd09uR2V0TGVuZ3RoT2JqZWN0Ll9f
ZGVmaW5lR2V0dGVyX18oImxlbmd0aCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQg
bGVuZ3RoIG9mIHRoaXMgb2JqZWN0LiI7IH0pOwotCi12YXIgdGhyb3dPbkdldFplcm9PYmplY3Qg
PSB7IGxlbmd0aDogMSB9OwotdGhyb3dPbkdldFplcm9PYmplY3QuX19kZWZpbmVHZXR0ZXJfXygi
MCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgMCBwcm9wZXJ0eSBvZiB0aGlzIG9i
amVjdC4iOyB9KTsKLQotdmFyIGV4cGVjdE5vRXhjZXB0aW9uID0gWwotICAgICdudWxsJywKLSAg
ICAndW5kZWZpbmVkJywKLSAgICAnMCcsCi0gICAgJyIiJywKLSAgICAnIiIsIG51bGwnLAotICAg
ICciIiwgdW5kZWZpbmVkJywKLSAgICAnIiIsIFtdJywKLSAgICAnIiIsIFsgImFyZzAiIF0nLAot
ICAgICciIiwgeyB9JywKLSAgICAnIiIsIHsgbGVuZ3RoOiAwIH0nLAotICAgICciIiwgeyBsZW5n
dGg6IDEsIDA6ICJhcmcwIiB9JywKLSAgICAnIiIsIG51bGwsIG51bGwnLAotICAgICciIiwgbnVs
bCwgdW5kZWZpbmVkJywKLSAgICAnIiIsIG51bGwsIHsgfScsCi0gICAgJyIiLCBudWxsLCBudWxs
LCBudWxsJywKLSAgICAnIiIsIG51bGwsIG51bGwsIHVuZGVmaW5lZCcsCi0gICAgJyIiLCBudWxs
LCBudWxsLCB7IH0nLAotXTsKLQotdmFyIGV4cGVjdEV4Y2VwdGlvbiA9IFsKLSAgICAnJywKLSAg
ICAndGhyb3dPblRvU3RyaW5nT2JqZWN0JywKLSAgICAnIiIsIHRocm93T25HZXRMZW5ndGhPYmpl
Y3QnLAotICAgICciIiwgdGhyb3dPbkdldFplcm9PYmplY3QnLAotICAgICciIiwgWyB0aHJvd09u
VG9TdHJpbmdPYmplY3QgXScsCi0gICAgJyIiLCAwJywKLSAgICAnIiIsICIiJywKLSAgICAnIiIs
IG51bGwsIDAnLAotICAgICciIiwgbnVsbCwgIiInLAotICAgICciIiwgbnVsbCwgbnVsbCwgMCcs
Ci0gICAgJyIiLCBudWxsLCBudWxsLCAiIicsCi1dOwotCi1mdW5jdGlvbiB0cnlFeGVjdXRlU3Fs
KHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KQotewotICAgIHRyeSB7Ci0gICAgICAgIGV2YWwo
J3RyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoJyArIHBhcmFtZXRlckxpc3QgKyAnKScpOwotICAgICAg
ICByZXR1cm4gbnVsbDsKLSAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKLSAgICAgICAgcmV0dXJu
IGV4Y2VwdGlvbjsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFu
c2FjdGlvbiwgcGFyYW1ldGVyTGlzdCwgZXhwZWN0RXhjZXB0aW9uKQotewotICAgIHZhciBleGNl
cHRpb24gPSB0cnlFeGVjdXRlU3FsKHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KTsKLSAgICBp
ZiAoZXhwZWN0RXhjZXB0aW9uKSB7Ci0gICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAg
ICBsb2coIlBBU1MuIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBl
eGNlcHRpb24gYXMgZXhwZWN0ZWQuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygi
KkZBSUwqLiBleGVjdXRlU3FsKCIgKyBwYXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24iKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAg
ICAgICAgICAgbG9nKCIqRkFJTCouIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0
aHJldyBhbiBleGNlcHRpb246ICIgKyBleGNlcHRpb24pOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBsb2coIlBBU1MuIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90
IHRocm93IGFuIGV4Y2VwdGlvbiIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rp
b25UZXN0cyh0cmFuc2FjdGlvbikKLXsKLSAgICBmb3IgKGkgaW4gZXhwZWN0Tm9FeGNlcHRpb24p
Ci0gICAgICAgIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0Tm9FeGNlcHRp
b25baV0sIGZhbHNlKTsKLSAgICBmb3IgKGkgaW4gZXhwZWN0RXhjZXB0aW9uKQotICAgICAgICBy
dW5UcmFuc2FjdGlvblRlc3QodHJhbnNhY3Rpb24sIGV4cGVjdEV4Y2VwdGlvbltpXSwgdHJ1ZSk7
Ci0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewot
Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiRXhlY3V0ZVNRTEFyZ3NUZXN0
IiwgIjEuMCIsICJUZXN0IG9mIGhhbmRsaW5nIG9mIHRoZSBhcmd1bWVudHMgdG8gU1FMVHJhbnNh
Y3Rpb24uZXhlY3V0ZVNxbCIsIDEpOwotICAgIGRiLnRyYW5zYWN0aW9uKHJ1blRyYW5zYWN0aW9u
VGVzdHMpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFj
Y2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5NWNlZWU4Yzg4M2FkZTE0M2VhOTZhMTUyMzU3
ZDA2NzU5YTlmYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVt
ZW50LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0
IHRlc3RzIHRoYXQgZXhlY3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVkIHdpdGggYSBzdHJpbmcg
dGhhdCBoYXMgbW9yZSB0aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4gaXQuCi1UZXN0IHBhc3Nl
ZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMt
b25seS1vbmUtc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwt
YWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTM4NjBjODk5MjVmMmZjZGIxMDYzNmZlN2M2MjNhYzgzYjEzNjAyYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDc4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi12YXIgVE9UQUxf
U1RBVEVNRU5UUyA9IDg7Ci12YXIgc3RhdGVtZW50cyA9IDA7Ci12YXIgZGIgPSBudWxsOwotCi1m
dW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCArPSBt
ZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCi17Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlU3RhdGVtZW50KGV4cGVjdGVk
VG9QYXNzLCBzdGF0ZW1lbnQpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
LSAgICAgICAgdHguZXhlY3V0ZVNxbChzdGF0ZW1lbnQsIFtdLAotICAgICAgICAgICAgZnVuY3Rp
b24odHgsIGRhdGEpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWV4cGVjdGVkVG9QYXNzKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGxvZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBl
eHBlY3RlZCB0byBmYWlsLCBidXQgcGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJt
aW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgrK3N0
YXRlbWVudHMgPT0gVE9UQUxfU1RBVEVNRU5UUykgewotICAgICAgICAgICAgICAgICAgICBsb2co
IlRlc3QgcGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7Ci0g
ICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkVG9QYXNzKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGxvZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBlY3RlZCB0byBwYXNzLCBi
dXQgZmFpbGVkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgrK3N0YXRlbWVudHMgPT0gVE9UQUxf
U1RBVEVNRU5UUykgewotICAgICAgICAgICAgICAgICAgICBsb2coIlRlc3QgcGFzc2VkLiIpOwot
ICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Ci0gICAgfQotCi0gICAgZGIgPSBvcGVuRGF0YWJhc2UoIkV4ZWN1dGVTUUxBY2NlcHRz
T25seU9uZVN0YXRlbWVudFRlc3QiLCAiMS4wIiwgIiIsIDEpOwotICAgIGRiLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBO
T1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpIik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAg
ICAgICAgbG9nKCJUZXN0IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICB0ZXJt
aW5hdGVUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1l
bnQodHJ1ZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgxKSIpOwotICAgICAgICBleGVjdXRl
U3RhdGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMik7Iik7Ci0gICAgICAg
IGV4ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgzKSAg
ICAiKTsKLSAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiICAgSU5TRVJUIElOVE8gVGVz
dCBWQUxVRVMgKDQpOyAgICIpOwotICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNF
UlQgSU5UTyBUZXN0IFZBTFVFUyAoNSkgICA7Iik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQo
ZmFsc2UsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoNik7IGdhcmJhZ2UiKTsKLSAgICAgICAg
ZXhlY3V0ZVN0YXRlbWVudChmYWxzZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg3KTsgSU5T
RVJUIElOVE8gVGVzdCBWQUxVRVMgKDgpIik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFs
c2UsICIgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg5KTsgICBJTlNFUlQgSU5UTyBUZXN0IFZB
TFVFUyAoMTApOyAgICIpOwotICAgIH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCBleGVjdXRlU3FsKCkg
ZmFpbHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0IGhhcyBtb3JlIHRoYW4gb25lIHZh
bGlkIHN0YXRlbWVudCBpbiBpdC48YnI+Ci08L2JvZHk+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTk2NGU2Mzc1YmQzYTMxYmFiODhi
NzI1NWI4ZjU0MDcyNGNjY2VjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1DaGFuZ2luZyB0aGUgaGFzaCB0
byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVzLgotRGIgaXMgd2FybWVkIHVwCi1UZXN0IENvbXBsZXRl
LCBTVUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Ut
d2l0aC14aHIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg0MzIwZjBmMTljNzhjNGZjYzhj
NmY4NTQyMGJlOGNmNTZiMzM5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4gCi08aGVhZD4gCi08dGl0bGU+
SGFzaCBDaGFuZ2Ugd2l0aCBhbiBPcGVuIFhIUiBzaG91bGQgbm90IHN0b3AgZGF0YWJhc2UgdHJh
bnNhY3Rpb25zPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9u
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoYXNoLWNoYW5nZS13aXRoLXhoci5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+IAotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKSI+IAotPHBy
ZSBpZD0iY29uc29sZSI+Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4KLTwvYm9k
eT4gCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdl
LXdpdGgteGhyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRoLXhoci5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y1NmY3OTVhMTgyZTFhODFkYWZiNjQw
MGVjODNjOGMzMGMwZDVmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmpzCisrKyAv
ZGV2L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLXZhciBEQl9VUERBVEVfSU5URVJWQUwgPSAxMDA7
Ci12YXIgU0VORF9YSFJfSU5URVJWQUwgPSAxMDA7Ci12YXIgQkFDS19JTlRFUlZBTCA9IDEwMDsK
LXZhciBDUkVBVEVfSEVBTFRIX1RBQkxFID0gJ0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGhl
YWx0aCAoa2V5IFZBUkNIQVIoMTYpIFBSSU1BUlkgS0VZKTsnOwotdmFyIFVQREFURV9EQVRBID0g
J1JFUExBQ0UgSU5UTyBoZWFsdGggVkFMVUVTKCJoZWFsdGgtY2hlY2sta2V5Iik7JzsKLSAKLXZh
ciBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoJ2J1ZzI1NzEwJywgJzEuMCcsICdMYXlvdXRU
ZXN0IGZvciBidWcgMjU3MTAnLCAxMDI0MDApOwotdmFyIGJhY2tJdGVyYXRpb25zOwotdmFyIHho
ckZjdEludGVydmFsSWQ7Ci12YXIgYmFja0ZjdEludGVydmFsSWQ7Ci12YXIgc3VjY2Vzc0NoZWNr
SW50ZXJ2YWxJZDsKLXZhciBkYkZjdEludGVydmFsSWQ7Ci12YXIgc3VjY2Vzc2VzOwotdmFyIGRh
dGFiYXNlVXBkYXRlczsKLXZhciBzdG9wcGVkSW50ZXJ2YWxzOwotIAotZnVuY3Rpb24gc3RvcElu
dGVydmFscygpCi17Ci0gICAgc3RvcHBlZEludGVydmFscyA9IHRydWU7Ci0gICAgY2xlYXJJbnRl
cnZhbChkYkZjdEludGVydmFsSWQpOwotICAgIGNsZWFySW50ZXJ2YWwoeGhyRmN0SW50ZXJ2YWxJ
ZCk7Ci0gICAgY2xlYXJJbnRlcnZhbChiYWNrRmN0SW50ZXJ2YWxJZCk7Ci19Ci0KLWZ1bmN0aW9u
IHN0b3BUZXN0KG1lc3NhZ2UpCi17Ci0gICAgaWYgKCFzdG9wcGVkSW50ZXJ2YWxzKQotICAgICAg
ICBzdG9wSW50ZXJ2YWxzKCk7Ci0KLSAgICBsb2cobWVzc2FnZSk7Ci0KLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Ci19Ci0gICAgCi1mdW5jdGlvbiB1cGRhdGVEYXRhYmFzZSgpCi17Ci0gICAgZGF0
YWJhc2VVcGRhdGVzKys7ICAKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0cmFuc2FjdGlv
bikgewotICAgICAgICB0cmFuc2FjdGlvbi5leGVjdXRlU3FsKFVQREFURV9EQVRBLCBbXSwgZnVu
Y3Rpb24oKSB7fSwgZXJyb3JIYW5kbGVyKTsKLSAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9u
KCkgewotICAgICAgICBzdWNjZXNzZXMrKzsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gY2hlY2tG
b3JTdWNjZXNzKCkKLXsKLSAgICBpZiAoc3VjY2Vzc2VzID09IGRhdGFiYXNlVXBkYXRlcykgewot
ICAgICAgICBzdG9wVGVzdCgnVGVzdCBDb21wbGV0ZSwgU1VDQ0VTUycpOwotICAgICAgICBjbGVh
ckludGVydmFsKHN1Y2Nlc3NDaGVja0ludGVydmFsSWQpOwotICAgIH0KLX0KLSAKLWZ1bmN0aW9u
IGVycm9ySGFuZGxlcih0eCwgZXJyb3IpCi17Ci0gICAgbG9nKCdEQiBlcnJvciwgY29kZTogJyAr
IGVycm9yLmNvZGUgKyAnLCBtc2c6ICcgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBzdG9wVGVzdCgn
VGVzdCBDb21wbGV0ZSwgRkFJTEVEJyk7Ci19Ci0gCi1mdW5jdGlvbiBzZW5kWGhyKCkKLXsKLSAg
ICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbignR0VUJywgbG9jYXRp
b24uaHJlZiwgdHJ1ZSk7Ci0gICAgeGhyLnNlbmQoJycpOwotfQotIAotZnVuY3Rpb24gaW52b2tl
QmFjaygpCi17Ci0gICAgYmFja0l0ZXJhdGlvbnMtLTsKLSAgICBpZiAoYmFja0l0ZXJhdGlvbnMp
IHsKLSAgICAgICAgaGlzdG9yeS5iYWNrKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc3RvcElu
dGVydmFscygpOwotICAgICAgICAvLyBBbGxvdyBhIGxpdHRsZSB0aW1lIGZvciBhbGwgdGhlIGRh
dGFiYXNlIHRyYW5zYWN0aW9ucyB0byBjb21wbGV0ZSBub3cgd2UndmUgc3RvcHBlZCBtYWtpbmcg
dGhlbS4KLSAgICAgICAgc3VjY2Vzc0NoZWNrSW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGNoZWNr
Rm9yU3VjY2VzcywgMjUwKTsKLSAgICAgICAgLy8gSWYgd2UgZG9uJ3QgZmluaXNoIGJlZm9yZSB0
aGlzIHRpbWUsIHRoZW4gd2UgY29uc2lkZXIgdGhlIHRlc3QgZmFpbGVkLgotICAgICAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgeyBzdG9wVGVzdCgnVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRyYW5z
YWN0aW9ucyB0byBjb21wbGV0ZS4gRkFJTEVEJyk7IH0sIDIwMDAwKTsKLSAgICAgICAgCi0gICAg
fQotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICAvLyBMb2NhdGlvbiBjaGFuZ2VzIG5l
ZWQgdG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRvIGdlbmVyYXRlIGhpc3Rv
cnkgZW50cmllcy4KLSAgICBzZXRUaW1lb3V0KHJ1blRlc3RzSW5uZXIsIDApOwotfQotCi1mdW5j
dGlvbiBydW5UZXN0c0lubmVyKCkKLXsKLSAgICBiYWNrSXRlcmF0aW9ucyA9IDEwOwotICAgIGNv
bnNlY3V0aXZlRmFpbHVyZXMgPSAwOwotICAgIHN1Y2Nlc3NlcyA9IDA7Ci0gICAgZGF0YWJhc2VV
cGRhdGVzID0gMDsKLSAgICBzdG9wcGVkSW50ZXJ2YWxzID0gZmFsc2U7Ci0KLSAgICAvLyBDcmVh
dGUgc29tZSBoYXNoZXMgc28gd2UgY2FuIGNhbGwgaGlzdG9yeS5iYWNrKCkuCi0gICAgbG9nKCdD
aGFuZ2luZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVzLicpOwotICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgYmFja0l0ZXJhdGlvbnM7IGkrKykgewotICAgICAgICBzZXRMb2NhdGlv
bkhhc2goaSk7Ci0gICAgfQotCi0gICAgLy8gSW5pdCB0aGUgZGF0YWJhc2UuCi0gICAgZGIudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHJhbnNhY3Rpb24pIHsKLSAgICAgICAgdHJhbnNhY3Rpb24uZXhl
Y3V0ZVNxbChDUkVBVEVfSEVBTFRIX1RBQkxFLCBbXSwgZnVuY3Rpb24oKSB7fSwgZXJyb3JIYW5k
bGVyKTsKLSAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9uKCkgewotICAgICAgICAvLyBHaXZl
IGEgbGl0dGxlIGZvciB0aGUgZGF0YWJhc2UgdG8gJ3dhcm0gdXAnIGJlZm9yZSBtYWtpbmcgeGhy
IHJlcXVlc3RzCi0gICAgICAgIC8vIGFuZCBjYWxsaW5nIGhpc3RvcnkuYmFjaygpLgotICAgICAg
ICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbG9nKCdEYiBpcyB3YXJtZWQg
dXAnKTsKLQotICAgICAgICAgICAgLy8gTk9URTogSWYgd2UgZG9uJ3QgbWFrZSBhbnkgeGhyIHJl
cXVlc3RzLCB0aGVuIHRoZSB0ZXN0Ci0gICAgICAgICAgICAvLyBzdWNjZXNzZnVsbHkgcGFzc2Vz
IChjb21tZW50IHRoaXMgbGluZSBvdXQpLgotICAgICAgICAgICAgeGhyRmN0SW50ZXJ2YWxJZCA9
IHNldEludGVydmFsKHNlbmRYaHIsIFNFTkRfWEhSX0lOVEVSVkFMKTsKLSAgICAgICAgICAgIGJh
Y2tGY3RJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoaW52b2tlQmFjaywgQkFDS19JTlRFUlZBTCk7
Ci0gICAgICAgICAgICBkYkZjdEludGVydmFsSWQgPSBzZXRJbnRlcnZhbCh1cGRhdGVEYXRhYmFz
ZSwgREJfVVBEQVRFX0lOVEVSVkFMKTsKLSAgICAgICAgfSwgNTAwKTsKLSAgICB9KTsKLX0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2Ut
Y29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRh
dGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkMDE1MTRhNmFlZmIzNjI4ZWIwMDM2NGNiMjYyNGMyMGUwZTg5MDA0Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRoaXMgdGVzdCBvcGVucyB0d28gZGF0
YWJhc2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3BlcmF0aW9ucyBvbiBib3RoLCB0aGVuICJm
b3JnZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0ZXIgZm9yY2luZyBHQywgcmVzb3VyY2VzIGFz
c29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBncmFjZWZ1bGx5Lgot
Rm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCi1QZXJzaXN0ZW50IERhdGFi
YXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0NTFhY2ZiYjk5YTQzOWRkODI0NzZjMTk5NDkx
NjY4NmE5YTZmMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0
aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Im11bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMiPjwvc2Ny
aXB0PgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IG9wZW5z
IHR3byBkYXRhYmFzZXMsIHF1ZXVlcyB1cCBhIHNlcmllcyBvZiBvcGVyYXRpb25zIG9uIGJvdGgs
IHRoZW4gImZvcmdldHMiIGFib3V0IG9uZSBvZiB0aGVtLgotQWZ0ZXIgZm9yY2luZyBHQywgcmVz
b3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBncmFj
ZWZ1bGx5Ljxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1
bi4KLTwvcHJlPiAKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWEyYjI3ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZl
ZjY0NDIwZDg2Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rp
b24uanMKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1mdW5jdGlvbiBHQygpCi17Ci0g
ICAgLy8gRm9yY2UgR0MuCi0gICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCi0gICAgICAgIEdD
Q29udHJvbGxlci5jb2xsZWN0KCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgMTAwMDA7ICsraSkgewotICAgICAgICAgICAgKHsgfSk7Ci0gICAgICAgIH0KLSAgICB9
Ci19Ci0KLS8vIFZhcmlhYmxlIGZvciB0aGUgZGF0YWJhc2UgdGhhdCB3aWxsIG5ldmVyIGJlIGZv
cmdvdHRlbgotdmFyIHBlcnNpc3RlbnREQiA9IDA7Ci0vLyBWYXJpYWJsZSBmb3IgdGhlIGZvcmdv
dHRlbiBkYXRhYmFzZQotdmFyIGZvcmdvdHRlbkRCID0gMDsKLQotdmFyIGNvbXBsZXRlZCA9IDA7
Ci1mdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oKQotewotICAgIGlmICgrK2NvbXBsZXRlZCA9PSAy
ICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBwZXJz
aXN0ZW50REIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJNdWx0aXBsZURhdGFiYXNlc1Rlc3Qx
IiwgIjEuMCIsICJUZXN0IG9uZSBvdXQgb2YgYSBzZXQgb2YgZGF0YWJhc2VzIGJlaW5nIGRlc3Ry
b3llZCAoMSkiLCAzMjc2OCk7Ci0gICAgZm9yZ290dGVuREIgPSBvcGVuRGF0YWJhc2VXaXRoU3Vm
Zml4KCJNdWx0aXBsZURhdGFiYXNlc1Rlc3QyIiwgIjEuMCIsICJUZXN0IG9uZSBvdXQgb2YgYSBz
ZXQgb2YgZGF0YWJhc2VzIGJlaW5nIGRlc3Ryb3llZCAoMikiLCAzMjc2OCk7Ci0KLSAgICBwZXJz
aXN0ZW50REIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRGF0YVRlc3QgKHJhbmRvbURhdGEpIiwgW10s
IGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgCi0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDI1OyArK2kpCi0gICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0
YVRlc3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoMSkiLCBbXSk7Ci0gICAgICAgIH0pOyAKLSAgICB9
LCBmdW5jdGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5z
YWN0aW9uIEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0g
ICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBUcmFu
c2FjdGlvbiBDb21wbGV0ZSIpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsK
LQotICAgIGZvcmdvdHRlbkRCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4
LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEVtcHR5VGFibGUgKHVuaW1w
b3J0YW50RGF0YSkiLCBbXSk7Ci0gICAgfSwgZnVuY3Rpb24oZXJyKSB7Ci0gICAgICAgIGxvZygi
Rm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAg
ICAgZm9yZ290dGVuREIgPSAwOwotICAgICAgICBHQygpOwotICAgICAgICBjaGVja0NvbXBsZXRp
b24oKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgbG9nKCJGb3Jnb3R0ZW4gRGF0YWJh
c2UgVHJhbnNhY3Rpb24gQ29tcGxldGUiKTsKLSAgICAgICAgZm9yZ290dGVuREIgPSAwOwotICAg
ICAgICBHQygpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5YzBmNmU5NWJhZmI4ZjU3ODMz
NjA5NjE2ZWY1MmM3MDg5NjEyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRoaXMgaXMgYSB0ZXN0IHRv
IHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgdG8g
YmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6Ci1UcmFuc2FjdGlvbiAxIFN0
YXJ0ZWQKLVRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCi1UcmFuc2FjdGlvbiAyIFN0YXJ0ZWQKLVRy
YW5zYWN0aW9uIDIgU3VjY2VlZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
bXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1o
YW5kbGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE2YTJk
MTdjYTA2ODcxNzU5MDFiM2ViYmUwN2NjNjJmOGYyZDZlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRy
YW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw4ICswLDAgQEAKLVRoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiBxdWV1ZWluZyB1cCBt
dWx0aXBsZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0
YWJhc2UgcmVzdWx0cyBpbiBhIGRlYWRsb2NrLgotZGIxIHJlYWQgc3RhdGVtZW50IHN1Y2NlZWRl
ZAotZGIxIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMSB0cmFuc2FjdGlvbiBzdWNjZWVk
ZWQKLWRiMiByZWFkIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMiB3cml0ZSBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkCi1kYjIgdHJhbnNhY3Rpb24gc3VjY2VlZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJl
bnQtaGFuZGxlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTE4YzMyMmMx
NWEzNmI0MWIxNDMwNzMyM2U2Mzk2MGFkZTE2MGMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1j
b21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9ucy1v
bi1kaWZmZXJlbnQtaGFuZGxlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9
InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIGlzIGEgdGVzdCB0byBzZWUgaWYgcXVldWVpbmcg
dXAgbXVsdGlwbGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1l
IGRhdGFiYXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay48YnI+Ci08cHJlIGlkPSJjb25zb2xlIj4g
Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4gCi08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1k
aWZmZXJlbnQtaGFuZGxlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA5YWI0YjkzZWY4M2E3NmM3ZTRjOTI0ODFkZmZmMGU1MTc3ZjRhYzFkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
bXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsNzggKzAsMCBAQAotdmFyIGNvbXBsZXRlID0gMDsKLQotZnVuY3Rpb24gY2hlY2tD
b21wbGV0aW9uKCkKLXsKLSAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5kIGFmdGVyIHR3byB0cmFu
c2FjdGlvbnMKLSAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQot
Ci0vLyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2FzZQotZnVuY3Rpb24g
b3BlblRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgo
Ik11bHRpcGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVzdCIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcgbXVsdGlwbGUgdHJhbnNh
Y3Rpb25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJlc3VsdCBpbiBhIGRlYWRs
b2NrLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3NjgpOwotfQotCi1m
dW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBzdGF0ZW1lbnRUeXBlKQot
ewotICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkIik7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2soZGJOYW1lLCBz
dGF0ZW1lbnRUeXBlLCBlcnJvcikKLXsKLSAgICBsb2coZGJOYW1lICsgIiAiICsgc3RhdGVtZW50
VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotfQotCi0vLyBS
dW5zIGEgdHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCi1mdW5jdGlvbiBydW5UcmFu
c2FjdGlvbihkYiwgZGJOYW1lLCB2YWwpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKLSAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRlbWVudAotICAgICAgIHR4
LmV4ZWN1dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgW10sCi0gICAgICAgICAg
ICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKGRi
TmFtZSwgInJlYWQiKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJv
cikgeyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQiLCBlcnJvcik7IH0pOwot
Ci0gICAgICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBtYWtlIHN1cmUgU1FMaXRl
IHRyaWVzIHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhlIERCIGZpbGUKLSAgICAg
ICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPyk7IiwgW3ZhbF0sCi0g
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0Nh
bGxiYWNrKGRiTmFtZSwgIndyaXRlIik7IH0sCi0gICAgICAgICAgICAgICAgICAgICBmdW5jdGlv
bih0eCwgZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUsICJ3cml0ZSIsIGVy
cm9yKTsgfSk7Ci0gICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgLy8gVHJh
bnNhY3Rpb24gZmFpbHVyZSBjYWxsYmFjawotICAgICAgICAgICBsb2coZGJOYW1lICsgIiB0cmFu
c2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgY2hlY2tDb21w
bGV0aW9uKCk7Ci0gICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgIC8vIFRyYW5zYWN0
aW9uIHN1Y2Nlc3MgY2FsbGJhY2sKLSAgICAgICAgICAgbG9nKGRiTmFtZSArICIgdHJhbnNhY3Rp
b24gc3VjY2VlZGVkIik7Ci0gICAgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgICAgIH0p
OwotfQotCi0vLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBUZXN0IHRhYmxlIGV4aXN0
cyBiZWZvcmUgd2UgcnVuIG91ciB0ZXN0LgotLy8gVGhlcmVmb3JlLCB0aGUgdGVzdCBjb2RlIGlz
IGluIHRoZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9uIHRoYXQgY3JlYXRlcyB0
aGUgdGFibGUuCi1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHRyeSB7Ci0gICAgICAgIHZhciBk
YiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKLSAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5v
dCBleGlzdAotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBF
WElTVFMgVGVzdCAoRm9vIGludCk7IiwgW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOwotICAgICAgICAgICAg
fSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW5nIHRoZSBU
ZXN0IHRhYmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgfSwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFibGUgd2FzIGNyZWF0ZWQg
c3VjY2Vzc2Z1bGx5Ci0gICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2Uo
KTsKLSAgICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgICAg
ICAgICAgICAgIGlmIChkYjEgPT0gZGIyKQotICAgICAgICAgICAgICAgICAgICBsb2coImZhaWx1
cmU6IGRiMSA9PSBkYjIiKTsKLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7Ci0gICAgICAgICAgICAgICAgICAg
IHJ1blRyYW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIH0pOwotICAgIH0gY2F0Y2goZXJyKSB7fQotfQotCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAzNTk3NDQwMTM5NmVmZGM4NzUzYTYwZmIzZTk0ODEyNDI4NTAzNGNkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21t
b24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9ucy5qcyI+
PC9zY3JpcHQ+Ci08aGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KLVRo
aXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0
cmFuc2FjdGlvbnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6PGJy
PgotPHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+
IAotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0
aXBsZS10cmFuc2FjdGlvbnMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5z
YWN0aW9ucy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVjZGFiY2RiZGQ2NGMz
YjRhMWRkNjNmMzUzMTU4Njk2MmNhZDYxOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9u
cy5qcworKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLXZhciBjb21wbGV0ZSA9IDA7Ci0K
LWZ1bmN0aW9uIGNoZWNrQ29tcGxldGlvbigpCi17Ci0gICAgaWYgKCsrY29tcGxldGUgPT0gMiAm
JiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGRi
ID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVUcmFuc2FjdGlvbnNUZXN0IiwgIjEu
MCIsICJUZXN0IHRvIG1ha2Ugc3VyZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHF1ZXVl
ZCBhdCBvbmNlIGZvciBhbiBIVE1MNSBkYXRhYmFzZSIsIDMyNzY4KTsKLQotICAgIGRiLnRyYW5z
YWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBTdGFydGVk
Iik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyKSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBF
cnJvcmVkIC0gIiArIGVycik7Ci0gICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0sIGZ1
bmN0aW9uKCkgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkIik7Ci0gICAg
ICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0pOwotCi0gICAgZGIudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIFN0YXJ0ZWQiKTsKLSAgICB9
LCBmdW5jdGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIEVycm9yZWQgLSAi
ICsgZXJyKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdWNjZWVkZWQiKTsKLSAgICAgICAgY2hlY2tD
b21wbGV0aW9uKCk7Ci0gICAgfSk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L251bGwtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1j
YWxsYmFja3MtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzEx
Njc1MTA2ZDgxNjk5MTExNGFkOTFjNjYzODBjMjdjMzdkM2E2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxs
YmFja3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRl
c3QgY2hlY2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVjdCBhbiBv
cHRpb25hbCBjYWxsYmFjay4KLVBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
bnVsbC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3Mu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNhMGUxYzNmZmJjZDMzNjYxMGRm
YTM3YTU4NzY5ZjAyYzQ4Njk2ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0
aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rp
b24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2
YXIgZGIgPSBvcGVuRGF0YWJhc2UoIk51bGxDYWxsYmFja3MiLCAiMS4wIiwgIlRlc3QgZm9yIG51
bGwgY2FsbGJhY2tzLiIsIDEpOwotICAgICAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkg
ewotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg
VGVzdCAoRm9vIElOVCkiLCBudWxsKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VS
VCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFsxXSwgbnVsbCwgbnVsbCk7Ci0gICAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPykiLCBbMl0sIG51bGwpOwot
ICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDMpIiwg
bnVsbCwgbnVsbCwgbnVsbCk7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5U
TyBUZXN0IFZBTFVFUyAoPykiLCBbNF0sIG51bGwsCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24o
dHgsIGVycm9yKSB7fSk7Ci0gICAgICAgIH0sIG51bGwsIG51bGwpOwotCi0gICAgICAgIGRiLnRy
YW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNF
UlQgSU5UTyBUZXN0IFZBTFVFUyAoPykiLCBbNV0pOwotICAgICAgICB9LCBudWxsLCBmdW5jdGlv
bigpIHsgZmluaXNoVGVzdCgpOyB9KTsKLSAgICB9IGNhdGNoKGVycikgewotICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCA9ICJGQUlMIjsKLSAgICAg
ICAgZmluaXNoVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KLVRoaXMgdGVzdCBjaGVja3MgdGhhdCAnbnVsbCcgY2FuIGJl
IHVzZWQgd2hlcmV2ZXIgd2UgZXhwZWN0IGFuIG9wdGlvbmFsIGNhbGxiYWNrLgotPHByZSBpZD0i
Y29uc29sZSI+UEFTUzwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJmM2ZjYjZiYWRk
YTEzMDUxNTI4OTZlNDhhMmExMDUzM2QyY2IxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3Jl
YXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlLCB2ZXJzaW9uIG1pc21h
dGNoLCAnMS4wJyBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKLVRoaXMg
dGVzdCB0ZXN0cyBvcGVuRGF0YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRh
dGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE5NmE2NzU0ZDhkZjU3NDAwY2U0NmM5ZGNjYTIz
ZTVjNDI3NTg0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1B
TEVSVDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBp
biBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0
IHRoZSBvcGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJp
Z2h0IHdvcmxkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJh
c2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGE0NjY0YmUyMGZmZmM1YmQ4OTk5ZWY0
NDg3YmZhYjBlZjVjYjQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIG9w
ZW5EYXRhYmFzZSgpIGNyZWF0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29y
bGQuCi08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgY3JlYXRpb25DYWxs
YmFja3NFeGVjdXRlZCA9IDA7Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrY3JlYXRp
b25DYWxsYmFja3NFeGVjdXRlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5j
dGlvbiBjcmVhdGlvbkNhbGxiYWNrMShkYikKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBp
biBpc29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0aW9u
Q2FsbGJhY2syKGRiKQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKLSAgICBkb25l
KCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZp
c2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRv
Y3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29y
bGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3Js
ZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKVxu
IiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZv
byk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgp
JztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNl
KCdPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZCcsICcxLjAnLCAnJywg
MSwgY3JlYXRpb25DYWxsYmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgn
T3BlbkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAx
LCBjcmVhdGlvbkNhbGxiYWNrMik7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxs
YmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNh
bGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MTY0NWM0NWVlNzRk
NGI2MWFhMDE5ODAzNGE5NGE4ZDRhN2UzNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0
aW9uLWNhbGxiYWNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7
Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
LX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNl
cygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDMyNzY4
KTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERhdGFiYXNlQ2FsbGJhY2tzKCk7
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIHZhciB0cmFu
c2FjdGlvbnNSdW4gPSAwOwotCi0gICAgLy8gT3BlbiBhIG5ldyBkYXRhYmFzZSB3aXRoIGEgY3Jl
YXRpb24gY2FsbGJhY2ssIGFuZCBtYWtlIHN1cmUgdGhlIGNyZWF0aW9uIGNhbGxiYWNrIGlzIHF1
ZXVlZAotICAgIHZhciBjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSA9IGZhbHNlOwotICAgIHZhciBk
YjFOYW1lID0gIk9wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2sxIiArIChuZXcgRGF0ZSgpKS5n
ZXRUaW1lKCk7Ci0gICAgdmFyIGRiMSA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIs
IDEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihkYikgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxID0gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGIudmVyc2lvbiAhPSAiIikgewotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW9uIGNhbGxiYWNrIHdh
cyBjYWxsZWQgd2l0aCBhIGRhdGFiYXNlIHdpdGggdmVyc2lvbiAiICsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRiLnZlcnNpb24gKyAiOyBlbXB0eSBzdHJpbmcgZXhw
ZWN0ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICB9KTsKLQotICAgIC8vIFB1dHRpbmcgdGhpcyBjb2RlIGluc2lkZSBhIHRyYW5zYWN0
aW9uIG9uICdkYjEnIG1ha2VzIHN1cmUgdGhhdCBpdCBpcyBleGVjdXRlZCBhZnRlcgotICAgIC8v
IHRoZSBjcmVhdGlvbiBjYWxsYmFjayBpcy4KLSAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKLSAgICAgICAgaWYgKCFjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSkgewotICAgICAgICAg
ICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFjayBmb3IgZGIxIHdhcyBub3QgY2FsbGVkLiIpOwotICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlmICgrK3RyYW5zYWN0
aW9uc1J1biA9PSAyKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwotCi0gICAg
Ly8gVHJ5IHRvIG9wZW4gYW5vdGhlciBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UuCi0gICAg
Ly8gU2luY2UgdGhlIHZlcnNpb24gb2YgdGhpcyBkYXRhYmFzZSBpcyAiIiAoZW1wdHkgc3RyaW5n
KSwgb3BlbkRhdGFiYXNlKCkgc2hvdWxkIHJldHVybgotICAgIC8vIGEgbnVsbCBoYW5kbGUgYW5k
IHRocm93IGEgSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uLgotICAgIHZhciBkYjFGYWlsID0g
bnVsbDsKLSAgICB0cnkgewotICAgICAgICBkYjFGYWlsID0gb3BlbkRhdGFiYXNlKGRiMU5hbWUs
ICIxLjAiLCAiIiwgMSk7Ci0gICAgICAgIGxvZygiVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBo
YXZlIGJlZW4gZXhlY3V0ZWQ7IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBzaG91bGQn
dmUgYmVlbiB0aHJvd24uIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGNhdGNoKGVy
cikgewotICAgICAgICBpZiAoZGIxRmFpbCkgewotICAgICAgICAgICAgbG9nKCJkYjFGYWlsIHNo
b3VsZCBoYXZlIGJlZW4gbnVsbC4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIC8vIE9wZW4gYSBoYW5kbGUgdG8gYW5vdGhlciBkYXRhYmFzZSwg
Zmlyc3Qgd2l0aG91dCBhIGNyZWF0aW9uIGNhbGxiYWNrLCB0aGVuIHdpdGggb25lLgotICAgIC8v
IE1ha2Ugc3VyZSB0aGUgY3JlYXRpb24gY2FsbGJhY2sgaXMgbm90IGNhbGxlZC4KLSAgICB2YXIg
Y3JlYXRpb25DYWxsYmFja0NhbGxlZDIgPSBmYWxzZTsKLSAgICB2YXIgZGIyID0gb3BlbkRhdGFi
YXNlKCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAiIiwgMSk7Ci0gICAg
ZGIyID0gb3BlbkRhdGFiYXNlKCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAi
LCAiIiwgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZGIpIHsgY3JlYXRpb25D
YWxsYmFja0NhbGxlZDIgPSB0cnVlOyB9KTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKLSAgICAgICAgaWYgKGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyKSB7Ci0gICAgICAgICAg
ICBsb2coIkNyZWF0aW9uIGNhbGxiYWNrIGZvciBkYjIgc2hvdWxkIG5vdCBoYXZlIGJlZW4gY2Fs
bGVkLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlm
ICgrK3RyYW5zYWN0aW9uc1J1biA9PSAyKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAg
IH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotVGhpcyB0ZXN0IHRlc3RzIG9wZW5EYXRhYmFzZSgpJ3MgY3JlYXRpb24gY2FsbGJhY2suCi08
cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZTJmZmMzMGQ0YTQ2
NWJkZGViYzk5YmYwMzY3OTU5OWVmOThmZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5
LXZlcnNpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlz
IHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0
cmluZyBkb2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgotU1VDQ0VTUyEg
RGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNDYwNDExMzgzZjE4Y2Y4MGM5YzRhZDgzOGY3MTU0OWI2OWM2Njc2Yy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MjIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBydW5UZXN0KCkg
ewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgCi0gICAgdHJ5IHsgICAgCi0gICAgICAg
IHZhciBkYiA9IG9wZW5EYXRhYmFzZSgnNTU2MjQ3MFRlc3QnLCAnJywgJ1Rlc3QgZm9yIDxyZGFy
Oi8vcHJvYmxlbS81NTYyNDcwPiBvcGVuRGF0YWJhc2UgZG9lcyBub3Qgd29yayB3aGVuIHRoZSB2
ZXJzaW9uIHN0cmluZyBpcyBlbXB0eScsIDEpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdGQUlMVVJFJwot
ICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
PGRpdj5UaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2
ZXJzaW9uIHN0cmluZyBkb2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgot
PGRpdiBpZD0icmVzdWx0Ij4KLVNVQ0NFU1MhIERpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLgot
PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFhZThkYjZiMzcu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJh
c2Ugd2l0aCBhIHNpemUgb3ZlciA1TUIgZG9lc24ndCBhc3NlcnQgb24gZGVidWcgYnVpbGRzLgot
UEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXIt
cXVvdGEuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3Rh
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhOTI2NGRlMzNkZjExNzQ0OWI0
YzNlNTNhNjdjZmVmOTY0NDFiZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0PgotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICB9Ci0K
LSAgICB0cnkgewotICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4n
LCAnJywgJ1Rlc3QgZm9yIGJ1ZyAzNjQ3MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNy
ZWF0aW5nRGF0YWJhc2UnLCAxMDAwMDAwMCk7Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKLSAg
ICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxk
aXY+VGhpcyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIg
NU1CIGRvZXNuJ3QgYXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KLTxkaXYgaWQ9InJlc3VsdCI+Ci1G
QUlMOiBXZSBzaG91bGRuJ3QgaGF2ZSBiZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCi08
L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
b3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWQ5OTYwMzQ0Y2Y1MDg0MmY3ZmU5NThlZTdj
NmRlMjc2NGIyZGY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FH
RTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UsIHZlcnNpb24gbWlzbWF0Y2gsICd0ZXN0JyBkb2Vz
IG5vdCBtYXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKLVRoaXMgdGVzdHMgdGhhdCBjYWxs
aW5nIG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIHNldHMgdGhlIGN1
cnJlbnQgdmVyc2lvbiBvZiB0aGF0IGRhdGFiYXNlIHRvIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1
YnNlcXVlbnQgYXR0ZW1wdHMgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBl
eHBlY3RlZCB2ZXJzaW9uIHRocm93IGFuIGV4Y2VwdGlvbi4KLVNVQ0NFU1MsIGFuIGV4Y2VwdGlv
biB3YXMgdGhyb3duLiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHkt
dmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0
eS12ZXJzaW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzNjA3ZmQxOWM5
ZDc4NTFkMmEwZWZhNDNlMzUwNDBhYzk5ZWRmNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNl
dC1lbXB0eS12ZXJzaW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08aHRt
bD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJh
c2VzKCk7Ci0gICAgfQotICAgIAotICAgIHRyeSB7ICAgIAotICAgICAgICB2YXIgZGIgPSBvcGVu
RGF0YWJhc2UoJzI4NDE3VGVzdCcsICcnLCAnVGVzdCBmb3IgYnVnIDI4NDE3OiBvcGVuRGF0YWJh
c2UoKSB3aXRoIGVtcHR5IHZlcnNpb24gc2V0cyBkYiB2ZXJzaW9uIHVwIGluY29ycmVjdGx5Jywg
MCk7Ci0gICAgICAgIC8vIFRoZSBuZXh0IG9wZW5EYXRhYmFzZSBjYWxsIHNob3VsZCBmYWlsIGJl
Y2F1c2UgdGhlIGRhdGFiYXNlIHZlcnNpb24gd2FzIHNldCB0byAnJyBieSB0aGUgY2FsbCBhYm92
ZSwgYW5kIG5vdyB3ZSBhcmUgZXhwZWN0aW5nIGEgZGlmZmVyZW50IHZlcnNpb24uCi0gICAgICAg
IHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJzI4NDE3VGVzdCcsICd0ZXN0JywgJ1Rlc3QgZm9yIGJ1
ZyAyODQxNzogb3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVyc2lv
biB1cCBpbmNvcnJlY3RseScsIDApOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdTVUNDRVNTLCBhbiBleGNl
cHRpb24gd2FzIHRocm93bi4gJyArIGU7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9w
ZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIHNldHMgdGhlIGN1cnJlbnQg
dmVyc2lvbiBvZiB0aGF0IGRhdGFiYXNlIHRvIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1YnNlcXVl
bnQgYXR0ZW1wdHMgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBleHBlY3Rl
ZCB2ZXJzaW9uIHRocm93IGFuIGV4Y2VwdGlvbi48L2Rpdj4KLTxkaXYgaWQ9InJlc3VsdCI+Ci1G
QUlMVVJFIC0gYW4gZXhjZXB0aW9uIHdhcyBleHBlY3RlZC4KLTwvZGl2PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxl
LXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjYWM4YWZjZWJlMTFkNjEwN2VlOGQ4
ZTc2ODQxYjM1NmFiZTAzNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0
aW9uLWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBA
QAotVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRy
YW5zYWN0aW9uIGlzIHJ1bm5pbmcgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRh
dGFiYXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay4KLW9wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRy
YW5zYWN0aW9uLWluLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0
YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzA3YTFhNDVjOWMyMzQ5NTRiZTJlMDA5N2U5MDc5YjY1NDc3MWNjMC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNy
Yz0ib3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIGlz
IGEgdGVzdCB0byBzZWUgaWYgb3BlbmluZyBhIGRhdGFiYXNlIHdoaWxlIGEgdHJhbnNhY3Rpb24g
aXMgcnVubmluZyBvbiBhIGRpZmZlcmVudCBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcmVz
dWx0cyBpbiBhIGRlYWRsb2NrLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVz
dCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jl
c3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rp
b24taW4tcHJvZ3Jlc3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMWEwYzAx
NGUyMzY1OTBlNzY0NDBhN2E0N2EwNGQwMTY0Y2EzYzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNl
LXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDEg
KzAsMCBAQAotLy8gT3BlbnMgdGhlIGRhdGFiYXNlIHVzZWQgaW4gdGhpcyB0ZXN0IGNhc2UKLWZ1
bmN0aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQotewotICAgIHJldHVybiBvcGVuRGF0YWJhc2VXaXRo
U3VmZml4KCJPcGVuRGF0YWJhc2VXaGlsZVRyYW5zYWN0aW9uSW5Qcm9ncmVzc1Rlc3QiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IGNhbGxpbmcgb3BlbkRhdGFi
YXNlKCkgd2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBpbiBwcm9ncmVzcyBvbiBhIGRpZmZlcmVudCBo
YW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgZG9lcyBub3QgcmVzdWx0IGluIGEgZGVhZGxvY2su
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMTAwMDAwKTsgLy8gMk1CICsg
ZXBzaWxvbgotfQotCi0vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI4MjA3Ci0vLyBJbiBvcmRlciB0byB0cmlnZ2VyIHRoaXMgYnVnLCB0aGUgdHJhbnNhY3Rp
b24gbXVzdCBhY3F1aXJlIGFuIGV4Y2x1c2l2ZQotLy8gbG9jayBvbiB0aGUgREIgZmlsZSBiZWZv
cmUgdHJ5aW5nIHRvIG9idGFpbiBhIHNlY29uZCBoYW5kbGUgdG8gdGhlIHNhbWUgREIuCi0vLyBU
aGUgb25seSB3YXkgdG8gZm9yY2UgU1FMaXRlIHRvIG9idGFpbiBhbiBleGNsdXNpdmUgbG9jayBp
cyB0byBjaGFuZ2UgbW9yZQotLy8gdGhhbiBjYWNoZV9zaXplICogcGFnZV9zaXplIGJ5dGVzIGlu
IHRoZSBkYXRhYmFzZS4gVGhlIGRlZmF1bHQgdmFsdWUgZm9yCi0vLyBjYWNoZV9zaXplIGlzIDIw
MDAgcGFnZXMsIGFuZCB0aGUgZGVmYXVsdCBwYWdlX3NpemUgaXMgMTAyNCBieXRlcy4gU28gdGhl
Ci0vLyBzaXplIG9mIHRoZSBibG9iIG11c3QgYmUgYXQgbGVhc3QgMk1CLgotZnVuY3Rpb24gcnVu
VGVzdCgpCi17Ci0gICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICBkYjEudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgLy8gQ3JlYXRlIHRoZSBUZXN0IHRhYmxl
IGlmIGl0IGRvZXMgbm90IGV4aXN0Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJM
RSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBCTE9CKTsiKTsKLSAgICAgICAgdHguZXhlY3V0ZVNx
bCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKFpFUk9CTE9CKDIwOTcxNTIpKTsiLCBbXSwKLSAg
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nKCJvcGVuRGF0YWJhc2UoKSBzdWNjZWVkZWQuIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nKCJFeGVjdXRpbmcgc3RhdGVtZW50IGZhaWxl
ZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAg
ICAgIC8vIENsZWFuIHVwIHRoZSBEQiB0byBhbGxvdyBmb3IgcmVwZWF0ZWQgcnVucyBvZiB0aGlz
IHRlc3QKLSAgICAgICAgLy8gd2l0aG91dCBuZWVkaW5nIHRvIGluY3JlYXNlIHRoZSBkZWZhdWx0
IGFsbG93ZWQgcXVvdGEgKDVNQikKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiREVMRVRFIEZST00g
VGVzdDsiKTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICBsb2coIlRyYW5zYWN0
aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0
ZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxZjY3ZDJmYWM0
ZjI2ZTZmMmQ3MjgwMDY4ODBkMmY1ZmY1MzI5MDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5n
LW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAg
QEAKLVRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRh
YmFzZSBkdXJpbmcgcHJpdmF0ZSBicm93c2luZyBmYWlsLgotU2V0dXAgc3RhdGVtZW50IDEgY29t
cGxldGVkIHN1Y2Nlc3NmdWxseQotU2V0dXAgc3RhdGVtZW50IDIgY29tcGxldGVkIHN1Y2Nlc3Nm
dWxseQotUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJv
cgotY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotUHJpdmF0
ZSBicm93c2luZyBzdGF0ZW1lbnQgMiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgotY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVByaXZhdGUgYnJvd3Npbmcg
c3RhdGVtZW50IDMgY29tcGxldGVkIHdpdGggYW4gZXJyb3IKLWNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1Qcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA0
IGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCi1jb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIz
IG5vdCBhdXRob3JpemVkKQotUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgNSBjb21wbGV0ZWQg
d2l0aCBhbiBlcnJvcgotY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBhY2Nlc3MgdG8g
UHJpdmF0ZVRlc3QxLnJhbmRvbURhdGEgaXMgcHJvaGliaXRlZCkKLVRlc3QgZW5kZWQKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dy
aXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5v
d3JpdGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjliNTg4MmI0ZGUxYzU2
MjA2NGM1ZTg0NzcwMTA2OTc5YTAxZmMxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9y
ZWFkLW5vd3JpdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkK
LXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBt
ZXNzYWdlICsgIlxuIjsKLX0KLQotdmFyIHNldHVwU3RhdGVtZW50cyA9IFsKLSAgICAiQ1JFQVRF
IFRBQkxFIElGIE5PVCBFWElTVFMgUHJpdmF0ZVRlc3QxIChyYW5kb21EYXRhKSIsCi0gICAgIklO
U0VSVCBJTlRPIFByaXZhdGVUZXN0MSBWQUxVRVMgKCdzb21lZGF0YScpIgotXTsKLQotdmFyIHBy
aXZhdGVCcm93c2luZ1N0YXRlbWVudHMgPSBbCi0gICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJ
U1RTIFByaXZhdGVUZXN0MiAocmFuZG9tRGF0YSkiLAotICAgICJERUxFVEUgRlJPTSBQcml2YXRl
VGVzdDEiLAotICAgICJEUk9QIFRBQkxFIFByaXZhdGVUZXN0MSIsCi0gICAgIklOU0VSVCBJTlRP
IFByaXZhdGVUZXN0MSBWQUxVRVMgKCdzb21lZGF0YScpIiwKLSAgICAiU0VMRUNUICogRlJPTSBQ
cml2YXRlVGVzdDEiCi1dOwotCi12YXIgY29tcGxldGVkID0gMDsKLXZhciB0aGVUcmFuc2FjdGlv
bjsKLQotZnVuY3Rpb24gc2V0dXBTdWNjZXNzRnVuY3Rpb24odHgsIHJlc3VsdCkKLXsKLSAgICAr
K2NvbXBsZXRlZDsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygiU2V0dXAgc3RhdGVtZW50ICIgKyBj
b21wbGV0ZWQgKyAiIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKLSAgICBjaGVja1NldHVwQ29t
cGxldGUoKTsKLX0KLQotZnVuY3Rpb24gc2V0dXBFcnJvckZ1bmN0aW9uKHR4LCBlcnJvcikKLXsK
LSAgICArK2NvbXBsZXRlZDsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygiU2V0dXAgc3RhdGVtZW50
ICIgKyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVz
c2FnZSk7Ci0gICAgY2hlY2tTZXR1cENvbXBsZXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIHByaXZhdGVC
cm93c2luZ1N1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQotewotICAgICsrY29tcGxldGVkOwot
ICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAiICsgY29t
cGxldGVkICsgIiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Iik7Ci19Ci0KLWZ1bmN0aW9uIHByaXZh
dGVCcm93c2luZ0Vycm9yRnVuY3Rpb24odHgsIGVycm9yKQotewotICAgICsrY29tcGxldGVkOwot
ICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAiICsgY29t
cGxldGVkICsgIiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvclxuIiArIGVycm9yLm1lc3NhZ2UpOwot
ICAgIHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gcnVuU2V0dXAodHJhbnNhY3Rpb24pCi17
Ci0gICAgdGhlVHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjsKLSAgICBmb3IgKGkgaW4gc2V0dXBT
dGF0ZW1lbnRzKQotICAgICAgICB0aGVUcmFuc2FjdGlvbi5leGVjdXRlU3FsKHNldHVwU3RhdGVt
ZW50c1tpXSwgW10sIHNldHVwU3VjY2Vzc0Z1bmN0aW9uLCBzZXR1cEVycm9yRnVuY3Rpb24pOwot
fQotCi1mdW5jdGlvbiBjaGVja1NldHVwQ29tcGxldGUoKQotewotICAgIGlmIChjb21wbGV0ZWQg
PT0gc2V0dXBTdGF0ZW1lbnRzLmxlbmd0aCkKLSAgICAgICAgcnVuUHJpdmF0ZUJyb3dzaW5nVGVz
dHMoKTsKLX0KLQotZnVuY3Rpb24gcnVuUHJpdmF0ZUJyb3dzaW5nVGVzdHMoKQotewotICAgIGNv
bXBsZXRlZCA9IDA7Ci0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUp
OwotICAgIAotICAgIGZvciAoaSBpbiBwcml2YXRlQnJvd3NpbmdTdGF0ZW1lbnRzKQotICAgICAg
ICB0aGVUcmFuc2FjdGlvbi5leGVjdXRlU3FsKHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHNbaV0s
IFtdLCBwcml2YXRlQnJvd3NpbmdTdWNjZXNzRnVuY3Rpb24sIHByaXZhdGVCcm93c2luZ0Vycm9y
RnVuY3Rpb24pOwotfQotCi1mdW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICB3cml0ZU1lc3NhZ2VU
b0xvZygiVGVzdCBlbmRlZCIpOwotICAgIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQot
ZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB2YXIg
ZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIlByaXZhdGVCcm93c2luZ05vUmVhZE5vV3JpdGVUZXN0
IiwgIjEuMCIsICJUZXN0IHByaXZhdGUgYnJvd3Npbmcgbm8gcmVhZC93cml0ZSBzYWZldHkiLCAx
KTsKLSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihydW5TZXR1cCwgZW5kVGVzdCwgZW5kVGVzdCk7
Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KLVRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBk
dXJpbmcgcHJpdmF0ZSBicm93c2luZyBmYWlsLjxicj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90
YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNr
aW5nLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ4NjBmMGMw
NGRkNzU2ZmM4ZDQ3NGIzNzliZTNhNWZjN2Y3Y2U4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5n
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVVJIERFTEVHQVRF
IERBVEFCQVNFIENBTExCQUNLOiBleGNlZWRlZERhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdp
bjp7ZmlsZSwgLCAwfSBkYXRhYmFzZTpRdW90YU1hbmFnZW1lbnREYXRhYmFzZTIKLVRoaXMgdGVz
dCBjaGVja3MgdG8gbWFrZSBzdXJlIHRoYXQgcXVvdGFzIGFyZSBlbmZvcmNlZCBwZXItb3JpZ2lu
IGluc3RlYWQgb2YgcGVyLWRhdGFiYXNlLCBhcyB0aGV5IHdlcmUgcHJpb3IgdG8gaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9wcm9qZWN0cy93ZWJraXQvY2hhbmdlc2V0LzI5OTgzLgotVGhlIHRlc3Qg
Y2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQw
aywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJ
ZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRo
ZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFu
ZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3
ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotQWRkaW5nIGEg
dGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRh
YmxlCi1JbnNlcnRpbmcgc29tZSBkYXRhCi1FeHBlY3RlZCBxdW90YSBleGNlcHRpb24gLSB0aGVy
ZSB3YXMgbm90IGVub3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0b3JhZ2Ug
cXVvdGEgd2FzIHJlYWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1vcmUgc3Bh
Y2UKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxlCi1JbnNlcnRpbmcgc29tZSBkYXRh
Ci1Eb25lIGFkZGluZyBkYXRhCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmcuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVv
dGEtdHJhY2tpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU1MjUyM2Ix
NjNmMDU0NTU4OGE4OGViMTMxMGJkZmQ4YzY2MjNhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5n
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQ+Ci12YXIgZGF0YWJhc2UxID0gbnVsbDsKLXZhciBkYXRhYmFzZTIgPSBudWxsOwotdmFy
IGRhdGFiYXNlMyA9IG51bGw7Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJy
PiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygiVGVzdCBDb21wbGV0
ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJy
b3JGdW5jdGlvbih0eCwgZXJyb3IpCi17Ci0gICAgbG9nKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAt
ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRy
YW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJyb3IpCi17Ci0gICAgLy8gV2Ugb25seSBleHBl
Y3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgZGF0YWJhc2UyCi0gICAgaWYgKGRiID09IGRhdGFiYXNl
MikgewotICAgICAgICBsb2coIkV4cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5t
ZXNzYWdlKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAg
ICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBjaGVja0NvbXBsZXRpb24o
ZGIpCi17Ci0gICAgbG9nKCJEb25lIGFkZGluZyBkYXRhIik7Ci0KLSAgICBpZiAoZGF0YWJhc2Uz
KSB7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UgaWYgKGRhdGFiYXNlMikgewot
ICAgICAgICBkYXRhYmFzZTMgPSBvcGVuRGF0YWJhc2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNl
MyIsICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+Iiwg
MSk7Ci0gICAgICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTMpOwotICAgIH0gZWxzZSB7Ci0gICAg
ICAgIGRhdGFiYXNlMiA9IG9wZW5EYXRhYmFzZSgiUXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyIiwg
IjEuMCIsICJUZXN0IGZvciBxdW90YSBtYW5hZ2VtZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsK
LSAgICAgICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMik7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBh
ZGREYXRhKGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAg
IGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOwotICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNF
UlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFMVUVTIChaRVJPQkxPQigxNzQwOCkpIiwg
W10sCi0gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0
ZW1lbnRFcnJvckZ1bmN0aW9uKTsKLSAgICAgICAgaWYgKGRiID09IGRhdGFiYXNlMikgewotICAg
ICAgICAgICAgLy8gVHJ5IHRvIHJ1biB0aGlzIHN0YXRlbWVudCBvbiAnZGF0YWJhc2UyJyBvbmx5
LgotICAgICAgICAgICAgLy8gSXQgc2hvdWxkIG5vdCBiZSBydW4sIGJlY2F1c2UgdGhlIHByZXZp
b3VzIHN0YXRlbWVudCBzaG91bGQndmUKLSAgICAgICAgICAgIC8vIHJlc3VsdGVkIGluIGEgZmFp
bHVyZSB0aGF0IG1hZGUgc3FsaXRlIHJvbGwgYmFjayB0aGUgZW50aXJlIHRyYW5zYWN0aW9uLgot
ICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHJhbmRvbURh
dGEpIFZBTFVFUyAoWkVST0JMT0IoMTApKSIsIFtdLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs
b2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIHJ1bi4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7Ci0gICAgICAgIH0KLSAgICB9LCBmdW5j
dGlvbihlcnJvcikgewotICAgICAgICB0cmFuc2FjdGlvbkVycm9yRnVuY3Rpb24oZGIsIGVycm9y
KTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKLSAg
ICB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdERhdGFiYXNlKGRiKQotewotICAgIGRiLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiQWRkaW5nIGEgdGFibGUiKTsKLSAgICAg
ICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtd
LAotICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgfSwgc3RhdGVt
ZW50RXJyb3JGdW5jdGlvbik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgdHJh
bnNhY3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBlcnJvcik7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGFkZERhdGEoZGIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsK
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5zZXREYXRhYmFzZVF1b3RhKDQwOTYwKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Ci0gICAgfQotCi0gICAgZGF0YWJhc2UxID0gb3BlbkRhdGFiYXNlKCJRdW90YU1hbmFn
ZW1lbnREYXRhYmFzZTEiLCAiMS4wIiwgIlRlc3QgZm9yIHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6
Ly81NjI4NDY4PiIsIDEpOwotICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTEpOwotfQotCi08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNo
ZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5z
dGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53
ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMuPGJyPgotVGhlIHRlc3Qg
Y2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQw
aywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJ
ZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRo
ZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFu
ZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3
ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotPHByZSBpZD0i
Y29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFu
c2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjYzg5NzljM2NiNTA3ZDkyMDAwNTc3ZjhmZmNjNzcwNDdmMjE1N2Q5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0
cyB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0
byB0aGUgc2FtZSBkYXRhYmFzZSBkb24ndCBydW4gdG9nZXRoZXIuCi1UcmFuc2FjdGlvbiBzdWNj
ZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwu
Ci1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5z
YWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24g
c3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNz
ZnVsLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRy
YW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9y
ZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTFkYTM1Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBm
OGZjOTg1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10
b2dldGhlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSJyZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3Qo
KTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9u
IGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvbid0IHJ1biB0b2dldGhl
ci48YnI+Ci08cHJlIGlkPSJjb25zb2xlIj4KLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KLTwv
cHJlPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9y
ZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhl
ci5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWI4MTdiYWQzMzA3MzcxZDdhZDE5
OWI0MGJmMTE5YjViMDU2MzdkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9u
cy1kb250LXJ1bi10b2dldGhlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLWZ1
bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQot
ZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdp
dGhTdWZmaXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9uc0RvbnRSdW5Ub2dldGhlclRlc3QiLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHJlYWQgYW5kIHdyaXRl
IHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2FtZSBEQiBkb24n
dCBydW4gYXQgdGhlIHNhbWUgdGltZS4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDMyNzY4KTsKLX0KLQotdmFyIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID0gMDsKLXZh
ciB3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwotdmFyIHRvdGFsVHJhbnNhY3Rpb25z
ID0gMDsKLXZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7Ci0KLWZ1bmN0aW9uIHJ1blRyYW5z
YWN0aW9uKGRiLCByZWFkT25seSkKLXsKLSAgICB2YXIgdHJhbnNhY3Rpb25GdW5jdGlvbiA9IChy
ZWFkT25seSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRiLnRyYW5zYWN0aW9uKTsKLSAgICB0cmFu
c2FjdGlvbkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICBpZiAo
cmVhZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBpZiAod3JpdGVUcmFuc2FjdGlvbnNJblByb2dy
ZXNzICE9IDApIHsKLSAgICAgICAgICAgICAgICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9uIHN0
YXJ0aW5nIHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGluIHByb2dyZXNzLiIpOwotICAgICAgICAg
ICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7Ci0gICAgICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgICAgIGlmICgocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgIT0gMCkg
fHwgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAwKSkgewotICAgICAgICAgICAgICAg
ICAgICBsb2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIGFub3RoZXIgdHJhbnNh
Y3Rpb24gaW4gcHJvZ3Jlc3MuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3Qo
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgd3JpdGVUcmFuc2FjdGlvbnNJ
blByb2dyZXNzKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJT
RUxFQ1QgKiBGUk9NIFRlc3Q7Iik7Ci0gICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAg
ICAgICAgICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDogIldyaXRlIikgKyAiIHRyYW5zYWN0aW9u
IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgdGVybWluYXRlVGVzdCgp
OwotICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICBmaW5pc2hlZFRyYW5zYWN0
aW9ucysrOwotICAgICAgICAgICAgIGlmIChyZWFkT25seSkKLSAgICAgICAgICAgICAgICAgcmVh
ZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKLSAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwotICAgICAgICAgICAgIGxvZygi
VHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4iKTsKLSAgICAgICAgICAgICBpZiAoKGZpbmlzaGVkVHJh
bnNhY3Rpb25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAmJiAocmVhZFRyYW5zYWN0aW9uc0luUHJv
Z3Jlc3MgPT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKSkKLSAgICAg
ICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24g
cnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpCi17Ci0gICAgdG90YWxU
cmFuc2FjdGlvbnMgPSAxMDsKLSAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7Ci0gICAgcnVu
VHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihkYjIsIHRydWUpOwot
ICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwg
dHJ1ZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlv
bihkYjMsIHRydWUpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwotICAgIHJ1blRy
YW5zYWN0aW9uKGRiMiwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7Ci0g
ICAgcnVuVHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsK
LSAgICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgIHZhciBkYjIgPSBvcGVuVGVz
dERhdGFiYXNlKCk7Ci0gICAgdmFyIGRiMyA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICBkYjEu
dHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNS
RUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBpbnQpOyIpOwotICAgICAgICB9LCBm
dW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJDYW5ub3QgY3JlYXRlIHRoZSBUZXN0
IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7
Ci0gICAgICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgcnVuUmVhZEFuZFdyaXRlVHJh
bnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpOwotICAgICAgICB9KTsKLX0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5u
aW5nLWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGY1OGQyZGZlNmFiYjFhMzE0NTdlYjUxNzllZGY0Y2YwMDA4MWY2ODUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9y
ZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9u
bHkgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNl
IHJ1biBjb25jdXJyZW50bHkuCi1SZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRs
eS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1y
dW5uaW5nLWNvbmN1cnJlbnRseS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5z
YWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiMmQ4NjJjMWU2Y2U4MjRmNDA4ODU4NTg0Yjk1ODcxOWI5NWNjMGJkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlv
biBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotfQotCi1mdW5jdGlvbiB0ZXJtaW5hdGVUZXN0KCkKLXsKLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQotewotICAgIHJl
dHVybiBvcGVuRGF0YWJhc2UoIlJlYWRUcmFuc2FjdGlvbnNSdW5uaW5nQ29uY3VycmVudGx5VGVz
dCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IG11bHRpcGxlIHJlYWQgdHJhbnNhY3Rpb25zIG9u
IGRpZmZlcmVudCBEQiBoYW5kbGVzIHRvIHRoZSBzYW1lIERCIHJ1biBjb25jdXJyZW50bHkuIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKLX0KLQotdmFyIHJlYWRUcmFuc2FjdGlv
bnNJblByb2dyZXNzID0gMDsKLQotZnVuY3Rpb24gcnVuUmVhZFRyYW5zYWN0aW9uKGRiKQotewot
ICAgIGRiLnJlYWRUcmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgcmVhZFRy
YW5zYWN0aW9uc0luUHJvZ3Jlc3MrKzsKLSAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAg
ICAgICAgICAgIGxvZygiUmVhZCB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdl
KTsKLSAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICBpZiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMikKLSAgICAg
ICAgICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LiIp
OwotICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKLSAgICAgICAgICAg
IGlmIChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKQotICAgICAgICAgICAgICAgIHRl
cm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0g
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIgZGIxID0gb3Bl
blRlc3REYXRhYmFzZSgpOwotICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwot
ICAgICAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gaW50KTsi
KTsKLSAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgbG9n
KCJDYW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAg
ICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgcnVuUmVhZFRyYW5zYWN0aW9uKGRiMSk7Ci0gICAgICAgICAgICAg
ICAgcnVuUmVhZFRyYW5zYWN0aW9uKGRiMik7Ci0gICAgICAgICAgICB9KTsKLSAgICAgfSBjYXRj
aChlcnIpIHsgbG9nKGVycik7IH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCk7Ij4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9ubHkgdHJhbnNh
Y3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJ1biBjb25j
dXJyZW50bHkuPGJyPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkMWViNDEwMmU1MThjZDk5NjVlM2NhMGU0MDEyYjJhNTFkNTFmZTc4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
cmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAg
QEAKLXZhciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKLQotZnVuY3Rpb24gb3BlbkRhdGFiYXNl
V2l0aFN1ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwgY2FsbGJhY2spCi17
Ci0gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7Ci0gICAgICAgIHJldHVybiBvcGVuRGF0
YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwg
Y2FsbGJhY2spOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiBvcGVuRGF0YWJhc2UobmFt
ZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSk7Ci0gICAgfQot
fQotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24g
c2V0TG9jYXRpb25IYXNoKGhhc2gpIHsKLSAgICBsb2NhdGlvbi5oYXNoID0gaGFzaDsKLX0KLQot
ZnVuY3Rpb24gc2V0dXBBbmRSdW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCA9ICIiOwotICAg
IHJ1blRlc3QoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2Vz
L2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
cmVzb3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNmUwZjA5Y2VhNzFhNWIzZDU2MGI2ZDI4NzM0N2UxZDAzZjhiYTgw
OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4K
LWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZp
bmlzaFRlc3QoKQotewotICAgIGxvZygiVGVzdCBwYXJ0IDIgQ29tcGxldGUiKTsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9yRnVuY3Rpb24oZXJyb3IpCi17Ci0g
ICAgbG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0
KCk7Ci19Ci0KLWZ1bmN0aW9uIGFkZERhdGEoZGIpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpIHsKLSAgICAgICAgbG9nKCJJbnNlcnRpbmcgc29tZSBkYXRhIik7Ci0gICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTICg/
KSIsIFsiQSJdLAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBmdW5jdGlv
bih0eCwgZXJyb3IpIHsgZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOwotICAgIH0sIGZ1bmN0aW9u
KCkgeyB9LCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKLX0KLQotZnVuY3Rpb24gcnVu
VGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2
YXIgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rlc3QiLCAiMS4wIiwgIlRl
c3QgZm9yIGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKLSAgICAgICAgYWRkRGF0YShkYXRh
YmFzZSk7Ci0gICAgfSBjYXRjaChlKSB7Ci0gICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qg
b3BlbiBkYXRhYmFzZSIpOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi08L3Nj
cmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29u
c29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9yZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYjk5YWYzYzc5NjFmNDI3YTg3YTZlZjdmYWFmMGQxNGIyODliYzcyMi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAg
QEAKLTwhZG9jdHlwZSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci12YXIgZGI7Ci0K
LXRyeSB7Ci0gICAgaWYgKHdpbmRvdy5vcGVuRGF0YWJhc2UpIHsKLSAgICAgICAgZGIgPSBvcGVu
RGF0YWJhc2UoIlN0cmVzc1Rlc3QyIiwgIjEuMCIsICJEYXRhYmFzZSBzdHJlc3MgdGVzdCIsIDIw
MDAwMCk7Ci0gICAgICAgIGlmICghZGIpCi0gICAgICAgICAgICBhbGVydCgiRmFpbGVkIHRvIG9w
ZW4gdGhlIGRhdGFiYXNlIG9uIGRpc2suICBUaGlzIGlzIHByb2JhYmx5IGJlY2F1c2UgdGhlIHZl
cnNpb24gd2FzIGJhZCBvciB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGxlZnQgaW4gdGhpcyBk
b21haW4ncyBxdW90YSIpOwotICAgIH0gZWxzZQotICAgICAgICBhbGVydCgiQ291bGRuJ3Qgb3Bl
biB0aGUgZGF0YWJhc2UuICBQbGVhc2UgdHJ5IHdpdGggYSBXZWJLaXQgbmlnaHRseSB3aXRoIHRo
aXMgZmVhdHVyZSBlbmFibGVkIik7Ci19IGNhdGNoKGVycikgeyB9Ci0KLWZ1bmN0aW9uIGxvYWRl
ZCgpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiU0VMRUNUIENPVU5UKCopIEZST00gV2Via2l0U3RpY2t5Tm90ZXMiLCBbXSwgZnVu
Y3Rpb24ocmVzdWx0KSB7Ci0gICAgICAgICAgICBsb2FkTm90ZXMoKTsKLSAgICAgICAgfSwgZnVu
Y3Rpb24odHgsIGVycm9yKSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFC
TEUgV2ViS2l0U3RpY2t5Tm90ZXMgKGlkIFJFQUwgVU5JUVVFLCBub3RlIFRFWFQpIiwgW10sIGZ1
bmN0aW9uKHJlc3VsdCkgeyAKLSAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQg
SU5UTyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywgPykiLCBbMSwgJ1Rl
eHQnXSwgZnVuY3Rpb24ocmVzdWx0KSB7IAotICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRl
U3FsKCJJTlNFUlQgSU5UTyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywg
PykiLCBbMiwgJ01vcmUgVGV4dCddLCBmdW5jdGlvbihyZXN1bHQpIHsgCi0gICAgICAgICAgICAg
ICAgICAgICAgICBsb2FkTm90ZXMoKTsgCi0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQot
Ci1mdW5jdGlvbiBsb2FkTm90ZXMoKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBpZCwgbm90ZSBGUk9NIFdlYktpdFN0
aWNreU5vdGVzIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAgIGxvYWRO
b3RlcygpOwotICAgICAgICB9LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsKLSAgICAgICAgICAgIGFs
ZXJ0KCdGYWlsZWQgdG8gcmV0cmlldmUgbm90ZXMgZnJvbSBkYXRhYmFzZSAtICcgKyBlcnJvci5t
ZXNzYWdlKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0K
LWFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQsIGZhbHNlKTsKLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci08cD5UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIHdpdGhvdXQgY3Jhc2hlcyBh
bmQgYXNzZXJ0aW9uIGZhaWx1cmVzIGZvciBhIHdoaWxlLjxwPgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjYwY2FmNTIzYjg3MjhlMGM1NjRkNmRhNTlhZGM2
ZDI4NmZlNTJiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDcgKzAsMCBAQAotUEFTUzogcHJvcGVydHkgJ3RpbWVzdGFtcCcgb2ssIHR5
cGUgd2FzIG51bWJlcgotUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3YXMgbnVtYmVyCi1Q
QVNTOiBwcm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgotUEFTUzogcHJvcGVydHkg
J3RleHQnIG9rLCB0eXBlIHdhcyBzdHJpbmcKLVBBU1M6IHByb3BlcnR5ICdibG9iJyBvaywgdHlw
ZSB3YXMgc3RyaW5nCi1QQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9zcWwtZGF0YS10eXBlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBj
ZDFjOThmODQ0YzA3M2IzOWViM2E2ZDU0NWZhNDAwMzM0NGRhMWI0Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRh
dGEtdHlwZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzcWwtZGF0YS10eXBlcy5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwcmUg
aWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9z
cWwtZGF0YS10eXBlcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZmY2QwMTNi
NjY3ZmJiNTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVz
LmpzCisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotLy9kZXNjcmlwdGlvbigiVGhpcyB0
ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIGphdmFzY3JpcHQgdmFsdWVzIHJldHVybmVkIGJ5IGRhdGFi
YXNlIHF1ZXJpZXMgYXJlIG9mIHNhbWUgdHlwZSBhcyB0aGUgdmFsdWVzIHB1dCBpbnRvIHRoZSBk
YXRhYmFzZS4iKTsKLQotZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdl
ICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gbm90aWZ5RG9uZShzdHIpIHsKLSAgICB3cml0ZU1lc3Nh
Z2VUb0xvZyhzdHIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHRlc3RWYWx1
ZXMgPSB7Ci0gICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgiV2VkIEZlYiAwNiAyMDA4IDEyOjE2OjUy
IEdNVCswMjAwIChFRVQpIikudmFsdWVPZigpLAotICAgIGlkOiAxMDAxLAotICAgIHJlYWw6IDEw
MS40NDQsCi0gICAgdGV4dDogIldlYktpdCBkYiBURVhUIiwKLSAgICBibG9iOiAic3VwZXJjYWxp
ZnJhZ2lsaXN0aWMiCi19OwotCi1mdW5jdGlvbiBzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUocHJv
cE5hbWUsIHRlc3RWYWx1ZSwgcmVzdWx0KSB7Ci0gICAgaWYgKHRlc3RWYWx1ZSA9PSByZXN1bHQg
JiYgdHlwZW9mIHRlc3RWYWx1ZSA9PSB0eXBlb2YgcmVzdWx0KSB7Ci0gICAgICAgIHdyaXRlTWVz
c2FnZVRvTG9nKCJQQVNTOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgb2ssIHR5cGUgd2Fz
ICIgKyB0eXBlb2YgcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHdy
aXRlTWVzc2FnZVRvTG9nKCJGQUlMOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgZmFpbGVk
LiIKLSAgICAgICAgKyAiIGV4cGVjdGVkOiAiICsgdHlwZW9mIHRlc3RWYWx1ZSArICI6JyIgKyB0
ZXN0VmFsdWUgKyAiJyAiCi0gICAgICAgICsgIiBnb3Q6ICIgKyB0eXBlb2YgcmVzdWx0ICsgIjon
IiArIHJlc3VsdCArIiciKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RE
QlZhbHVlcyh0eCwgcmVzdWx0KSB7Ci0gICAgdmFyIHJzID0gcmVzdWx0LnJvd3MuaXRlbSgwKTsK
LSAgICAvLyBBdm9pZCBmb3IgLi4gaW4gYmVjYXVzZSAodGhlcmV0aWNhbGx5KSB0aGUgb3JkZXIg
Y2FuIGNoYW5nZQotICAgIGkgPSAidGltZXN0YW1wIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVl
KGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gImlkIjsgc2hvdWxkQmVTYW1lVHlw
ZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gInJlYWwiOyBzaG91
bGRCZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOwotICAgIGkgPSAi
dGV4dCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7
Ci0gICAgaSA9ICJibG9iIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNb
aV0sIHJzW2ldKTsKLSAgICAKLSAgICB0eC5leGVjdXRlU3FsKCJEUk9QIFRBQkxFIERhdGFUeXBl
VGVzdFRhYmxlIiwgW10sCi0gICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAg
ICAgIG5vdGlmeURvbmUoIlBBU1M6IGRhdGFiYXNlIGNsZWFuIHVwIG9rLiIpOwotICAgICAgICB9
LAotICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7Ci0gICAgICAgICAgICBub3RpZnlEb25l
KCJGQUlMOiBEYXRhYmFzZSBjbGVhbiB1cCBmYWlsZWQuIik7Ci0gICAgICAgIH0pOwotfQotCi1m
dW5jdGlvbiBmZXRjaERCVmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7Ci0gICAgdHguZXhlY3V0ZVNx
bCgiU0VMRUNUICogRlJPTSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtdLAotICAgICAgICB0ZXN0REJW
YWx1ZXMsCi0gICAgICAgIGZ1bmN0aW9uKHR4LGVycm9yKSB7Ci0gICAgICAgICAgICBub3RpZnlE
b25lKCJGQUlMOiBFcnJvciBmZXRjaGluZyB2YWx1ZXMgZnJvbSB0aGUgZGIuIikKLSAgICAgICAg
fSk7Ci19Ci0KLWZ1bmN0aW9uIGluc2VydFRlc3RWYWx1ZXNTdG10KHR4LCByZXN1bHQpIHsKLSAg
ICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQsIHJlYWws
IHRpbWVzdGFtcCwgdGV4dCwgYmxvYikgVkFMVUVTICg/LD8sPyw/LD8pIiwKLSAgICAgICAgW3Rl
c3RWYWx1ZXMuaWQsIHRlc3RWYWx1ZXMucmVhbCwgdGVzdFZhbHVlcy50aW1lc3RhbXAsIHRlc3RW
YWx1ZXMudGV4dCwgdGVzdFZhbHVlcy5ibG9iXSwKLSAgICAgICAgZmV0Y2hEQlZhbHVlc1N0bXQs
Ci0gICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgbm90aWZ5RG9uZSgi
RkFJTDogRXJyb3IgaW5zZXJ0aW5nIHZhbHVlcyB0byB0aGUgZGIuIik7Ci0gICAgICAgIH0pOwot
fQotCi1mdW5jdGlvbiBjcmVhdGVUZXN0REJTdG10KHR4KQotewotICAgIHR4LmV4ZWN1dGVTcWwo
IkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUeXBlVGVzdFRhYmxlIChpZCBJTlRFR0VS
IFVOSVFVRSwgcmVhbCBSRUFMLCB0aW1lc3RhbXAgSU5URUdFUiwgdGV4dCBURVhULCBibG9iIEJM
T0IpIiwgW10sCi0gICAgICAgIGluc2VydFRlc3RWYWx1ZXNTdG10LAotICAgICAgICBmdW5jdGlv
bih0eCwgZXJyb3IpIHsKLSAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGNyZWF0
aW5nIHRoZSBkYi4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0g
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICB9Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhVHlw
ZVRlc3QiLCAiMS4wIiwgIkRhdGFiYXNlIGZvciBzcWwgZGF0YSB0eXBlIHRlc3QiLCAxKTsKLSAg
ICBpZiAoZGIpCi0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0ZVRlc3REQlN0bXQpOwotICAg
IGVsc2UKLSAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3Igb3BlbmluZyB0aGUgZGIiKTsK
LX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTE5Nzc2YTVmZjcxY2FiNTcyNjFhN2Fh
NDRmMzBhOTgxNTdiNGMyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEV4Y2VwdGlv
biB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IENhbm5v
dCBjYWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCi1UaGlzIHRlc3QgdGVzdHMgdGhlIGVy
cm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCi1QQVNTOiBleHBl
Y3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBn
b3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBj
b2RlIFNZTlRBWF9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhf
RVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6
IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKLVBBU1M6IGV4cGVjdGVkIGFu
ZCBnb3QgZXJyb3IgY29kZSBWRVJTSU9OX0VSUgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJy
b3ItY29kZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM3MGM2Y2FmZTg4
OWM3ZThiYTRlZjA4ZjU5Mzg3ZTBkM2UxNWIxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQg
c3JjPSJzcWwtZXJyb3ItY29kZXMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2Fk
PSJzZXR1cEFuZFJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJvciBjb2RlcyBy
ZXBvcnRlZCBpbiBleGNlcHRpb25hbCBzaXR1YXRpb25zLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUi
PgotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5qcyBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEyNmEzYTU4NmQ4Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvc3FsLWVycm9yLWNvZGVzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTE0ICswLDAgQEAKLWZ1
bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFy
IFRPVEFMX1RFU1RTID0gNzsKLXZhciB0ZXN0c1J1biA9IDA7Ci1mdW5jdGlvbiB0cmFuc2FjdGlv
bkVycm9yQ2FsbGJhY2soZXJyb3IsIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKLXsKLSAgICBpZiAo
ZXJyb3IuY29kZSA9PSBlcnJvcltleHBlY3RlZEVycm9yQ29kZU5hbWVdKSB7Ci0gICAgICAgIGxv
ZygiUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlICIgKyBleHBlY3RlZEVycm9yQ29k
ZU5hbWUpOwotICAgICAgICBpZiAoKyt0ZXN0c1J1biA9PSBUT1RBTF9URVNUUykKLSAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBsb2coIkZBSUw6IGV4cGVj
dGVkIGVycm9yIGNvZGUgIiArIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSArICIgKCIgKyBlcnJvcltl
eHBlY3RlZEVycm9yQ29kZU5hbWVdICsgIik7IGdvdCAiICsgZXJyb3IuY29kZSk7Ci0gICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0Nh
bGxiYWNrKCkKLXsKLSAgICBsb2coIkZBSUw6IGEgdHJhbnNhY3Rpb24gaGFzIGNvbXBsZXRlZCBz
dWNjZXNzZnVsbHkuIik7Ci0gICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0VHJh
bnNhY3Rpb24oZGIsIHRyYW5zYWN0aW9uQ2FsbGJhY2ssIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkK
LXsKLSAgICBkYi50cmFuc2FjdGlvbih0cmFuc2FjdGlvbkNhbGxiYWNrLAotICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0
aW9uRXJyb3JDYWxsYmFjayhlcnJvciwgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKLSAgICAgICAg
ICAgICAgICAgICB9LCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3RUcmFuc2FjdGlvblRocm93c0V4Y2VwdGlvbihkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rp
b24oZGIsIGZ1bmN0aW9uKHR4KSB7IHRocm93ICJFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0
aW9uIGNhbGxiYWNrLiI7IH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0VHJh
bnNhY3Rpb25GYWlsdXJlQmVjYXVzZU9mU3RhdGVtZW50RmFpbHVyZShkYikKLXsKLSAgICB0ZXN0
VHJhbnNhY3Rpb24oZGIsCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVNRU5UIiwgW10sIG51
bGwsIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7Ci0gICAgICAgICAgICAg
ICAgICAgIH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0SW52YWxpZFN0YXRl
bWVudChkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7IHR4LmV4
ZWN1dGVTcWwoIkJBRCBTVEFURU1FTlQiKTsgfSwgIlNZTlRBWF9FUlIiKTsKLX0KLQotZnVuY3Rp
b24gdGVzdEluY29ycmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpCi17Ci0gICAgdGVzdFRy
YW5zYWN0aW9uKGRiLAotICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgewotICAgICAg
ICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElT
VFMgQmFkQmluZE51bWJlclRlc3QgKEZvbyBJTlQsIEJhciBJTlQpIik7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kTnVtYmVyVGVzdCBW
QUxVRVMgKD8sID8pIiwgWzFdKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlNZTlRBWF9FUlIi
KTsKLX0KLQotZnVuY3Rpb24gdGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYikKLXsKLSAg
ICB2YXIgYmFkU3RyaW5nID0geyB9OwotICAgIGJhZFN0cmluZy50b1N0cmluZyA9IGZ1bmN0aW9u
KCkgeyB0aHJvdyAiQ2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlzIG9iamVjdC4iIH07Ci0K
LSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1
dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmRUeXBlVGVzdCAoRm9vIFRF
WFQpIik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEJhZEJpbmRUeXBlVGVz
dCBWQUxVRVMgKD8pIiwgW2JhZFN0cmluZ10pOwotICAgIH0sICJVTktOT1dOX0VSUiIpOwotfQot
Ci1mdW5jdGlvbiB0ZXN0UXVvdGFFeGNlZWRlZChkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24o
ZGIsCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBRdW90YVRl
c3QgKEZvbyBCTE9CKSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
SU5TRVJUIElOVE8gUXVvdGFUZXN0IFZBTFVFUyAoWkVST0JMT0IoMTAgKiAxMDI0ICogMTAyNCkp
Iik7Ci0gICAgICAgICAgICAgICAgICAgIH0sICJRVU9UQV9FUlIiKTsKLX0KLQotZnVuY3Rpb24g
dGVzdFZlcnNpb25NaXNtYXRjaChkYikKLXsKLSAgICAvLyBVc2UgYW5vdGhlciBEQiBoYW5kbGUg
dG8gY2hhbmdlIHRoZSB2ZXJzaW9uLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlIHN1cmUgdGhh
dCB0aGUgREIgdmVyc2lvbiBpcyBub3QKLSAgICAvLyBjaGFuZ2VkIGJlZm9yZSB0aGUgdHJhbnNh
Y3Rpb25zIGluIHRoZSBvdGhlciB0ZXN0cyBoYXZlIHJ1biwgd2UgbmVlZCB0byBkbyBpdCBpbiBh
IHRyYW5zYWN0aW9uIG9uICdkYicuCi0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
LSAgICAgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlNRTEVycm9yQ29kZXNU
ZXN0IiwgIjEuMCIsICJUZXN0cyB0aGUgZXJyb3IgY29kZXMuIiwgMSk7Ci0gICAgICAgIGRiMi5j
aGFuZ2VWZXJzaW9uKCIxLjAiLCAiMi4wIiwgZnVuY3Rpb24odHgpIHsgfSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxvZygiRkFJTDogY291bGQgbm90IGNoYW5nZSB0aGUgREIgdmVyc2lvbi4iKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7IH0pOwotICAgICAgICB9KTsKLQotICAgIHRlc3RU
cmFuc2FjdGlvbihkYiwKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlRISVMgU1RBVEVNRU5UIFNIT1VMRCBO
RVZFUiBHRVQgRVhFQ1VURUQiKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlZFUlNJT05fRVJS
Iik7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJh
c2VzKCk7Ci0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNv
ZGVzVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGVycm9yIGNvZGVzLiIsIDEpOwotICAgIHRlc3RU
cmFuc2FjdGlvblRocm93c0V4Y2VwdGlvbihkYik7Ci0gICAgdGVzdFRyYW5zYWN0aW9uRmFpbHVy
ZUJlY2F1c2VPZlN0YXRlbWVudEZhaWx1cmUoZGIpOwotICAgIHRlc3RJbnZhbGlkU3RhdGVtZW50
KGRiKTsKLSAgICB0ZXN0SW5jb3JyZWN0TnVtYmVyT2ZCaW5kUGFyYW1ldGVycyhkYik7Ci0gICAg
dGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYik7Ci0gICAgdGVzdFF1b3RhRXhjZWVkZWQo
ZGIpOwotICAgIHRlc3RWZXJzaW9uTWlzbWF0Y2goZGIpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDAzZDlmMGM5Njc4NzE1OTBjMTUxNDA3MGU2
MDgwNjdlNTAxMjEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXhj
ZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjawotVGhpcyB0ZXN0IGNvbmZpcm1zIHRo
YXQgYSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBp
ZiBhIHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVy
bnMgdHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotUEFTUyAtIHRoZSB0cmFuc2Fj
dGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
ZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sg
d2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBp
bnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgot
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotVGVz
dCBDb21wbGV0ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1l
cnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzNzY4OTYzOGJkMmI4YmU1Yjg2YmIz
M2UwNTZmZjA4NTU3YWQ2ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1B
TEVSVDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBp
biBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0
IHRoZSBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3Js
ZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50
LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYwNDUxMDIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4K
LVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2Fs
bGVkIGluIHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlw
dD4KLXZhciBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9u
ZSgpCi17Ci0gICAgaWYgKCgrK3N0YXRlbWVudEVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAm
JiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNr
MSh0eCwgZXJyb3IpCi17Ci0gICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29y
bGQuIik7Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNr
Mih0eCwgZXJyb3IpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwotICAgIGRvbmUo
KTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlz
aWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9j
dW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3Js
ZC4iOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxk
KAotICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEo
dHgsIGVycm9yKVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1
bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFz
Y3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0g
b3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRFcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4w
JywgJycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtc
biIgKwotICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVu
Y3Rpb24odHgsIGRhdGEpIHt9LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSk7XG4iICsKLSAgICAg
ICAgIn0pOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJyb3JD
YWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcs
IFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIHN0YXRlbWVudEVycm9yQ2FsbGJhY2syKTsKLSAg
ICB9KTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDZkYjgzNmQxNjE4Yjk5MzI0NTY4NTFhYzlmOGUwN2E3NmNjMTVmYWQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDg3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVz
c2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxicj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAg
ICBsb2coIlRlc3QgQ29tcGxldGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZh
ciB0eENhbGxiYWNrQ291bnQgPSAwOwotdmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsK
LXZhciBkYXRhYmFzZTsKLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWws
IHN0YXRlbWVudEVycm9yQ2FsbGJhY2spCi17Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBF
WElTVFMgVGVzdFRhYmxlIChSYW5kb21EYXRhIFRFWFQpIik7Ci0gICAgICAgIHR4LmV4ZWN1dGVT
cWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOwotICAgICAg
ICB0eC5leGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKLSAgICAgICAg
ICAgIGZ1bmN0aW9uKHR4LCBkYXRhKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhp
cyBzdGF0ZW1lbnQgc2hvdWxkIGhhdmUgZmFpbGVkIik7Ci0gICAgICAgICAgICAgICAgZmluaXNo
VGVzdCgpOwotICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7Ci0gICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0
MSddLAotICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBpZiAo
ZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3Rh
dGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7Ci0gICAgICAgICAgICB9LCBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAg
ICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBi
ZWVuIGV4ZWN1dGVkIik7Ci0gICAgICAgICAgICB9KTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikg
ewotICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICBsb2coIlBBU1MgLSB0
aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIGxvZygiRkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFj
ayBzaG91bGQgbm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOwotICAgICAgICBpZiAoKyt0eENhbGxi
YWNrQ291bnQgPT0gTlVNQkVSX09GX1RSQU5TQUNUSU9OUykKLSAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQot
ICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sg
c2hvdWxkIG5vdCBoYXZlIGJlZW4gaW52b2tlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAg
ICAgbG9nKCJQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9r
ZWQuIik7Ci0gICAgICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNB
Q1RJT05TKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwotfQotCi1mdW5jdGlv
biBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlID0gb3BlbkRh
dGFiYXNlKCJTdGF0ZW1lbnRFcnJvckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVy
cm9yIGNhbGxiYWNrIHRlc3QiLCAxMDI0KTsKLQotICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1
bmN0aW9uKGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICBydW5UcmFuc2FjdGlvbih0cnVl
LCBmdW5jdGlvbihlcnJvcikgeyB0aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBj
YWxsYmFjayI7IHJldHVybiBmYWxzZTsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVu
Y3Rpb24oZXJyb3IpIHsgcmV0dXJuICJzb21lIHN0cmluZyI7IH0pOwotICAgIHJ1blRyYW5zYWN0
aW9uKHRydWUsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiAxMjM0OyB9KTsKLSAgICBydW5UcmFu
c2FjdGlvbih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsg
fSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJm
YWxzZSI7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30p
OwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFs
c2U7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1
cm4gMDsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJl
dHVybiBudWxsOyB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1t
ZWRpYXRlbHkgcm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBj
YWxsYmFjayB0aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0
dXJuIGFueSB2YWx1ZS4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci0KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3Mt
Y2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlZjAyN2RmYmQxYTA0MzQ2M2YyMTc2OWI3
MzcxOWE4OGU1YmY2ZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFM
RVJUOiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGlu
IGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQg
dGhlIHN0YXRlbWVudCBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29y
bGQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3Mt
Y2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVt
ZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZjMTEzYi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgot
PGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJh
Y2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgotPHNjcmlwdD4KLXZhciBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2tzSW52b2tlZCA9IDA7Ci1m
dW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrc0lu
dm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCi0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50
U3VjY2Vzc0NhbGxiYWNrMSh0eCwgZGF0YSkKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBp
biBpc29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVu
dFN1Y2Nlc3NDYWxsYmFjazIodHgsIGRhdGEpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5i
YXIpOwotICAgIGRvbmUoKTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1l
bnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5i
YXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0
ZWQgaW4gdGhpcyB3b3JsZC4iOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0
SW5Jc29sYXRlZFdvcmxkKAotICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50
U3VjY2Vzc0NhbGxiYWNrMSh0eCwgZGF0YSlcbiIgKwotICAgICAgICAie1xuIiArCi0gICAgICAg
ICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCi0gICAgICAgICIgICAgd2luZG93
LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKLSAgICAgICAgIn1cbiIgKwotICAg
ICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrSXNv
bGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHtcbiIgKwotICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nl
c3NDYWxsYmFjazEpO1xuIiArCi0gICAgICAgICJ9KTsiKTsKLQotICAgIHZhciBkYjIgPSBvcGVu
RGF0YWJhc2UoJ1N0YXRlbWVudFN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcs
ICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgnQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCknLCBb
XSwgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrMik7Ci0gICAgfSk7Ci19Ci08L3NjcmlwdD4KLTwv
Ym9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1j
YWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nlc3MtY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjE5MDI0NDE3
OGMzZWEyZGQ5M2E1NjIzMDJhODA2ZWE4NDg5ODRmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFj
ay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRoaXMgdGVzdCBj
b25maXJtcyB0aGF0IGEgc3VjY2Vzc2Z1bCB0cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0
aG91dCBhIHN0YXRlbWVudCAtIHJlY2VpdmVzIGl0cyBzdWNjZXNzQ2FsbGJhY2sKLVRyYW5zYWN0
aW9uIHN1Y2NlZWRlZCAtIFRyYW5zYWN0aW9uIHdpdGggb25lIHN0YXRlbWVudAotVHJhbnNhY3Rp
b24gc3VjY2VlZGVkIC0gRW1wdHkgdHJhbnNhY3Rpb24KLVRlc3QgQ29tcGxldGUKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzIzN2FiYTgyZTMwOTcyNDgxYWFiYjcwNTBkNWEyMTQ2ZTI1YzNmYS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3N1Y2Nlc3MtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAgICBsb2coIlRlc3Qg
Q29tcGxldGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9y
RnVuY3Rpb24oZXJyb3IpCi17Ci0gICAgbG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNz
YWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzQ291bnQgPSAwOwotCi1m
dW5jdGlvbiBzdWNjZXNzRnVuY3Rpb24obWVzc2FnZSkKLXsKLSAgICBsb2coIlRyYW5zYWN0aW9u
IHN1Y2NlZWRlZCAtICIgKyBtZXNzYWdlKTsKLSAgICBpZiAoKytzdWNjZXNzQ291bnQgPT0gMikK
LSAgICAgICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOwotICAgIH0KLSAgICAKLSAgICB2YXIgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIlN1Y2Nl
c3NDYWxsYmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBzdWNjZXNzIGNhbGxiYWNrIDxy
ZGFyOi8vNTczNzY5Mj4iLCAxKTsKLSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0
eCkgeyB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBTdWNjZXNzQ2Fs
bGJhY2tUZXN0IChyYW5kb21EYXRhKSIsIFtdKTsgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rpb24o
KSB7IHN1Y2Nlc3NGdW5jdGlvbigiVHJhbnNhY3Rpb24gd2l0aCBvbmUgc3RhdGVtZW50Iik7IH0p
OwotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIGVycm9yRnVuY3Rp
b24sIGZ1bmN0aW9uKCkgeyBzdWNjZXNzRnVuY3Rpb24oIkVtcHR5IHRyYW5zYWN0aW9uIik7IH0p
OwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
VGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSBzdWNjZXNzZnVsIHRyYW5zYWN0aW9uIC0gYm90aCB3
aXRoIGFuZCB3aXRob3V0IGEgc3RhdGVtZW50IC0gcmVjZWl2ZXMgaXRzIHN1Y2Nlc3NDYWxsYmFj
awotPHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0
MGY2M2MwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDY4ICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGUgZGF0YWJhc2UgYXV0aG9y
aXplci4KLVNRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9D
UkVBVEVfSU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9UQUJM
RSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVt
ZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVk
ZWQuCi1TUUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9D
UkVBVEVfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WVEFCTEUgc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKLVNRTElURV9SRUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfU0VMRUNUIHN0
YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfREVMRVRFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1T
UUxJVEVfSU5TRVJUIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfVVBEQVRFIHN0YXRlbWVu
dCBzdWNjZWVkZWQuCi1TUUxJVEVfUFJBR01BIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBw
cmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQUxURVJfVEFCTEUg
c3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkLgotU1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQVRUQUNIIHN0YXRlbWVu
dCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQp
Ci1TUUxJVEVfREVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkLgotU1FMSVRFX0FOQUxZWkUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUg
c3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX0lOREVYIHN0YXRlbWVu
dCBzdWNjZWVkZWQuCi1TUUxJVEVfRFJPUF9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQu
Ci1TUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9E
Uk9QX1RFTVBfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVFJJR0dFUiBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgotU1FMSVRFX0RST1BfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVdyaXRlIHRyYW5zYWN0
aW9uIHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291
bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFU
RV9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1l
bnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVk
KQotU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBw
cmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVEVNUF9U
UklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBu
b3QgYXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVf
Q1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVt
ZW50ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBmYWls
ZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJ
VEVfQ1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0
ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQg
c3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQu
Ci1TUUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRF
X0NSRUFURV9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVFJJ
R0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBz
dWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBu
b3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX1JFQUQgc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9TRUxFQ1Qgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNR
TElURV9ERUxFVEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9JTlNFUlQgc3RhdGVtZW50IGZhaWxlZDogY291
bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9VUERB
VEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3Qg
YXV0aG9yaXplZCkKLVNRTElURV9QUkFHTUEgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHBy
ZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BTFRFUl9UQUJMRSBz
dGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRo
b3JpemVkKQotU1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBw
cmVwYXJlIHN0YXRlbWVudCAoMSBubyBzdWNoIHRhYmxlOiBUZXN0VGFibGUpCi1TUUxJVEVfVFJB
TlNBQ1RJT04gc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgy
MyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BVFRBQ0ggc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9ERVRBQ0gg
c3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0
aG9yaXplZCkKLVNRTElURV9SRUlOREVYIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQU5BTFlaRSBzdGF0ZW1l
bnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVk
KQotU1FMSVRFX0RST1BfSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUg
c3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX1RFTVBfVEFCTEUgc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKLVNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBu
b3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RST1BfVEVN
UF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMg
bm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJP
UF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMg
bm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotUmVhZCB0cmFuc2Fj
dGlvbnMgc3VjY2VlZGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3Qt
YXV0aG9yaXplci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXIuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJhZjEwYWE0NzUwMGE0ZjNjZjMxMjRj
NzY3MTczMTc5ZTg5NDM0Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXplci5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ0ZXN0LWF1
dGhvcml6ZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1
blRlc3QoKTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLjxicj4K
LTxwcmUgaWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08
L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0
aG9yaXplci5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTA4Yzg5ZGY1NGEzYjZjNGE4NjNjMDFkZjg5ZjQ3
NTFjY2M5MTg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsMTUzICswLDAgQEAKLWZ1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gbG9nQW5kVGVybWluYXRlVGVzdChtZXNzYWdlLCBl
cnJvcikKLXsKLSAgICBsb2cobWVzc2FnZSArICI6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICB0
ZXJtaW5hdGVUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGNsZWFudXAoZGIpCi17Ci0gICAgZGIudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1Ag
VEFCTEUgSUYgRVhJU1RTIFRlc3Q7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJEUk9Q
IElOREVYIElGIEVYSVNUUyBUZXN0SW5kZXg7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3Fs
KCJEUk9QIFZJRVcgSUYgRVhJU1RTIFRlc3RWaWV3OyIpOwotICAgICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiRFJPUCBUUklHR0VSIElGIEVYSVNUUyBUZXN0VHJpZ2dlcjsiKTsKLSAgICAgICAgfSwg
ZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiQ2xlYW51cCBmYWlsZWQiLCBl
cnJvcik7IH0pOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soc3RhdGVt
ZW50VHlwZSkKLXsKLSAgICBsb2coc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IHN1Y2NlZWRl
ZC4iKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjayhzdGF0ZW1lbnRUeXBl
LCBlcnJvcikKLXsKLSAgICBsb2coc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDog
IiArIGVycm9yLm1lc3NhZ2UpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gZXhl
Y3V0ZVN0YXRlbWVudCh0eCwgc3RhdGVtZW50LCBvcGVyYXRpb24pCi17Ci0gICAgdHguZXhlY3V0
ZVNxbChzdGF0ZW1lbnQsIFtdLAotICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7
IHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhvcGVyYXRpb24pOyB9LAotICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IHJldHVybiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKG9w
ZXJhdGlvbiwgZXJyb3IpOyB9KTsKLX0KLQotZnVuY3Rpb24gY3JlYXRlVGFibGVDYWxsYmFjayh0
eCkKLXsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRBQkxFIFRlc3QgKEZvbyBp
bnQpOyIsICJTUUxJVEVfQ1JFQVRFX1RBQkxFIik7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZVN0YXRl
bWVudHNDYWxsYmFjayh0eCkKLXsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIElO
REVYIFRlc3RJbmRleCBPTiBUZXN0IChGb28pOyIsICJTUUxJVEVfQ1JFQVRFX0lOREVYIik7Ci0K
LSAgICAvLyBFdmVuIHRob3VnaCB0aGUgZm9sbG93aW5nIHF1ZXJ5IHNob3VsZCB0cmlnZ2VyIGEg
U1FMSVRFX0NSRUFURV9URU1QX0lOREVYIG9wZXJhdGlvbgotICAgIC8vIChhY2NvcmRpbmcgdG8g
aHR0cDovL3d3dy5zcWxpdGUub3JnL3RlbXBmaWxlcy5odG1sKSwgaXQgZG9lc24ndCwgYW5kIEkn
bSBub3QgYXdhcmUKLSAgICAvLyBvZiBhbnkgb3RoZXIgd2F5IHRvIHRyaWdnZXIgdGhpcyBvcGVy
YXRpb24uIFNvIHdlJ2xsIHNraXAgaXQgZm9yIG5vdy4KLSAgICAvL2V4ZWN1dGVTdGF0ZW1lbnQo
dHgsICJTRUxFQ1QgKiBGUk9NIFRlc3QgV0hFUkUgRm9vIElOICgxLCAyLCAzKTsiLCAiU1FMSVRF
X0NSRUFURV9URU1QX0lOREVYIik7Ci0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRF
IFRFTVAgVEFCTEUgVGVzdFRlbXBUYWJsZSAoRm9vIGludCk7IiwgIlNRTElURV9DUkVBVEVfVEVN
UF9UQUJMRSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVNUCBUUklHR0VS
IFRlc3RUZW1wVHJpZ2dlciBJTlNFUlQgT04gVGVzdCBCRUdJTiBTRUxFQ1QgQ09VTlQoKikgRlJP
TSBUZXN0OyBFTkQ7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9UUklHR0VSIik7Ci0gICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFZJRVcgVGVzdFRlbXBWaWV3IEFTIFNFTEVDVCBD
T1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9WSUVXIik7Ci0gICAgZXhl
Y3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBUUklHR0VSIFRlc3RUcmlnZ2VyIElOU0VSVCBPTiBU
ZXN0IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IEVORDsiLCAiU1FMSVRFX0NSRUFU
RV9UUklHR0VSIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSUVXIFRlc3RW
aWV3IEFTIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9DUkVBVEVfVklFVyIp
OwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVklSVFVBTCBUQUJMRSBUZXN0Vmly
dHVhbFRhYmxlIFVTSU5HIE1pc3NpbmdNb2R1bGU7IiwgIlNRTElURV9DUkVBVEVfVlRBQkxFIik7
Ci19Ci0KLWZ1bmN0aW9uIG90aGVyU3RhdGVtZW50c0NhbGxiYWNrKHR4KQotewotICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHgsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyIsICJTUUxJVEVfUkVB
RCIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0
OyIsICJTUUxJVEVfU0VMRUNUIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRFTEVURSBG
Uk9NIFRlc3Q7IiwgIlNRTElURV9ERUxFVEUiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAi
SU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDEpOyIsICJTUUxJVEVfSU5TRVJUIik7Ci0gICAgZXhl
Y3V0ZVN0YXRlbWVudCh0eCwgIlVQREFURSBUZXN0IFNFVCBGb28gPSAyIFdIRVJFIEZvbyA9IDE7
IiwgIlNRTElURV9VUERBVEUiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUFJBR01BIGNh
Y2hlX3NpemU7IiwgIlNRTElURV9QUkFHTUEiKTsKLQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgs
ICJBTFRFUiBUQUJMRSBUZXN0IFJFTkFNRSBUTyBUZXN0VGFibGU7IiwgIlNRTElURV9BTFRFUl9U
QUJMRSIpOwotICAgIC8vIFJlbmFtZSB0aGUgdGFibGUgYmFjayB0byBpdHMgb3JpZ2luYWwgbmFt
ZQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJBTFRFUiBUQUJMRSBUZXN0VGFibGUgUkVOQU1F
IFRvIFRlc3Q7IiwgIlNRTElURV9BTFRFUl9UQUJMRSIpOwotCi0gICAgZXhlY3V0ZVN0YXRlbWVu
dCh0eCwgIkJFR0lOIFRSQU5TQUNUSU9OOyIsICJTUUxJVEVfVFJBTlNBQ1RJT04iKTsKLSAgICBl
eGVjdXRlU3RhdGVtZW50KHR4LCAiQVRUQUNIIG1haW4gQVMgVGVzdE1haW47IiwgIlNRTElURV9B
VFRBQ0giKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVUQUNIIFRlc3RNYWluOyIsICJT
UUxJVEVfREVUQUNIIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlJFSU5ERVg7IiwgIlNR
TElURV9SRUlOREVYIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFOQUxZWkU7IiwgIlNR
TElURV9BTkFMWVpFIik7Ci0KLSAgICAvLyBTUUxJVEVfRlVOQ1RJT046IGFsbG93ZWQgd3JpdGUg
bW9kZQotICAgIC8vIFRoZXJlIGlzIG5vIFNRTC9KYXZhc2NyaXB0IEFQSSB0byBhZGQgdXNlci1k
ZWZpbmVkIGZ1bmN0aW9ucyB0byBTUUxpdGUsCi0gICAgLy8gc28gd2UgY2Fubm90IHRlc3QgdGhp
cyBvcGVyYXRpb24KLX0KLQotZnVuY3Rpb24gZHJvcFN0YXRlbWVudHNDYWxsYmFjayh0eCkKLXsK
LSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBJTkRFWCBUZXN0SW5kZXg7IiwgIlNRTElU
RV9EUk9QX0lOREVYIik7Ci0KLSAgICAvLyBTUUxJVEVfRFJPUF9URU1QX0lOREVYOiBhbGxvd2Vk
IGluIHdyaXRlIG1vZGUKLSAgICAvLyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB0ZW1wIGlu
ZGV4ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZHJvcHBlZCB3aGVuCi0gICAgLy8gdGhlIGRhdGFiYXNl
IGlzIGNsb3NlZCwgYnV0IEhUTUw1IGRvZXNuJ3Qgc3BlY2lmeSBhIGNsb3NlRGF0YWJhc2UoKSBj
YWxsLgotCi0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVEFCTEUgVGVzdFRlbXBUYWJs
ZTsiLCAiU1FMSVRFX0RST1BfVEVNUF9UQUJMRSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgs
ICJEUk9QIFRSSUdHRVIgVGVzdFRlbXBUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9URU1QX1RSSUdH
RVIiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBWSUVXIFRlc3RUZW1wVmlldzsi
LCAiU1FMSVRFX0RST1BfVEVNUF9WSUVXIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRS
T1AgVFJJR0dFUiBUZXN0VHJpZ2dlcjsiLCAiU1FMSVRFX0RST1BfVFJJR0dFUiIpOwotICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFZpZXc7IiwgIlNRTElURV9EUk9QX1ZJ
RVciKTsKLQotICAgIC8vIFNRTElURV9EUk9QX1ZUQUJMRTogYWxsb3dlZCBpbiB3cml0ZSBtb2Rl
Ci0gICAgLy8gTm90IHN1cmUgaG93IHRvIHRlc3QgdGhpczogd2UgY2Fubm90IGNyZWF0ZSBhIHZp
cnR1YWwgdGFibGUgYmVjYXVzZSB3ZSBkbyBub3QKLSAgICAvLyBoYXZlIFNRTC9KYXZhc2NyaXB0
IEFQSXMgdG8gcmVnaXN0ZXIgYSBtb2R1bGUgdGhhdCBpbXBsZW1lbnRzIGEgdmlydHVhbCB0YWJs
ZS4KLSAgICAvLyBUaGVyZWZvcmUsIHRyeWluZyB0byBkcm9wIGEgdmlydHVhbCB0YWJsZSB3aWxs
IGFsd2F5cyBmYWlsIChubyBzdWNoIHRhYmxlKQotICAgIC8vIGJlZm9yZSBldmVuIGdldHRpbmcg
dG8gdGhlIGF1dGhvcml6ZXIuCi0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJM
RSBUZXN0OyIsICJTUUxJVEVfRFJPUF9UQUJMRSIpOwotfQotCi1mdW5jdGlvbiB0ZXN0UmVhZFdy
aXRlTW9kZShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAg
ICAgICAgY3JlYXRlVGFibGVDYWxsYmFjayh0eCk7Ci0gICAgICAgICAgICBjcmVhdGVTdGF0ZW1l
bnRzQ2FsbGJhY2sodHgpOwotICAgICAgICAgICAgb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgp
OwotICAgICAgICAgICAgZHJvcFN0YXRlbWVudHNDYWxsYmFjayh0eCk7Ci0gICAgICAgIH0sCi0g
ICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIldyaXRlIHRyYW5z
YWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSwKLSAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiV3Jp
dGUgdHJhbnNhY3Rpb24gc3VjY2VlZGVkLiIpOyB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdFJlYWRP
bmx5TW9kZShkYikKLXsKLSAgICAvLyBUZXN0IHRoZSAnQ1JFQVRFIFRBQkxFJyBvcGVyYXRpb247
IGl0IHNob3VsZCBiZSBkaXNhbGxvd2VkCi0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGNyZWF0ZVRh
YmxlQ2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRl
c3QoIlJlYWQgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsK
LQotICAgIC8vIEluIG9yZGVyIHRvIHRlc3QgYWxsIG90aGVyICdDUkVBVEUnIG9wZXJhdGlvbnMs
IHdlIG11c3QgY3JlYXRlIHRoZSB0YWJsZSBmaXJzdAotICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0
ZVRhYmxlQ2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0
ZVRlc3QoIldyaXRlICdDUkVBVEUgVEFCTEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsg
fSk7Ci0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGNyZWF0ZVN0YXRlbWVudHNDYWxsYmFjaywKLSAg
ICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnQ1JFQVRF
JyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwotCi0gICAgLy8gSW4gb3JkZXIgdG8g
dGVzdCB0aGUgJ0RST1AnIGFuZCAnb3RoZXInIG9wZXJhdGlvbnMsIHdlIG5lZWQgdG8gZmlyc3Qg
Y3JlYXRlIHRoZSByZXNwZWN0aXZlIGVudGl0aWVzCi0gICAgZGIudHJhbnNhY3Rpb24oY3JlYXRl
U3RhdGVtZW50c0NhbGxiYWNrLAotICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJt
aW5hdGVUZXN0KCJXcml0ZSAnQ1JFQVRFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0p
OwotICAgIGRiLnJlYWRUcmFuc2FjdGlvbihvdGhlclN0YXRlbWVudHNDYWxsYmFjaywKLSAgICAg
ICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnb3RoZXInIHRy
YW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Ci0KLSAgICAvLyBIYWNrOiBpbnNlcnQgYW4g
ZW1wdHkgd3JpdGUgdHJhbnNhY3Rpb24gdG8gZ3VhcmF0ZWUgdGhhdCB0aGVzZSB0cmFuc2FjdGlv
bnMgYXJlIGV4ZWN1dGVkIHNlcXVlbnRpYWxseQotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7IH0pOwotICAgIGRiLnJlYWRUcmFuc2FjdGlvbihkcm9wU3RhdGVtZW50c0NhbGxiYWNr
LAotICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdE
Uk9QJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0sCi0gICAgICAgIGZ1bmN0aW9uKCkg
eyBsb2coIlJlYWQgdHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4iKTsgdGVybWluYXRlVGVzdCgpOyB9
KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNl
V2l0aFN1ZmZpeCgiQXV0aG9yaXplclRlc3QiLCAiMS4wIiwgIlRlc3RzIHRoZSBkYXRhYmFzZSBh
dXRob3JpemVyLiIsIDMyNzY4KTsKLSAgICBjbGVhbnVwKGRiKTsKLSAgICB0ZXN0UmVhZFdyaXRl
TW9kZShkYik7Ci0gICAgdGVzdFJlYWRPbmx5TW9kZShkYik7Ci19CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2Vw
dGlvbi1jcmFzaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4
OGM3NDI2MDVlMzRkZGI5ODhlODkzM2MzNGUwNDNhMzNhYzI0ZWUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2Fj
dGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJv
cgotSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1j
cmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNl
cHRpb24tY3Jhc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJjYzczMmJi
OGYyYjUzZWNiNDQ4MWE3OTk3NWUyY2NmNzFjY2RjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBA
QAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotdmFyIGRiID0gb3BlbkRhdGFi
YXNlKCIxNTk3NlRlc3QiLCAiMS4wIiwgIlRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1OTc2IiwgMSk7Ci1kYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkg
ewotICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICB3aW5kb3cuc2V0
VGltZW91dChmdW5jdGlvbigpIHsgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0s
IDApOwotICAgdGhyb3cgIlRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvciI7Ci19KTsKLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHk+Ci1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhh
cyBwYXNzZWQKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZjQ3NGY3YmM2ZWE3OGE5
MjE3Yjk4ZDA4YjliMjVhNzEyZWZlNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAK
LUFMRVJUOiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxl
IGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRo
YXQgdGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NjgyNWQ3MDAzNDA0Mjg0NmVmZDRkMWQ5NTgzYjcyZTJlNTk1MmJiYS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5z
YWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0
OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVz
dHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3
b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLXZhciB0cmFuc2FjdGlv
bkNhbGxiYWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3Ry
YW5zYWN0aW9uQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQot
Ci1mdW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMSh0eCkKLXsKLSAgICBhbGVydCgiRkFJTDog
VmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9u
IHRyYW5zYWN0aW9uQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFy
KTsKLSAgICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50
LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFy
ID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVk
IGluIHRoaXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewot
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdElu
SXNvbGF0ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIHRyYW5zYWN0aW9u
Q2FsbGJhY2sxKHR4KVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChk
b2N1bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2ph
dmFzY3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIx
ID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4w
JywgJycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24odHJhbnNhY3Rpb25DYWxs
YmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxs
YmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24o
dHJhbnNhY3Rpb25DYWxsYmFjazIpOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2Fs
bGJhY2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZmIzM2Jk
OWFiN2QwNzdjNWRkNjNjMDA3OThlM2Q2NzUwMDlmMzE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBA
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDYzOiBbb2JqZWN0IE9iamVjdF0KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNR
TFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJk
bGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNr
IG9uIGZhaWx1cmUuCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJy
b3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCi1UZXN0aW5nIHRyYW5zYWN0aW9u
IGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VT
UwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJv
ciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3Rpbmcgc3RhdGVtZW50IGNh
bGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZh
bHNlIDogU1VDQ0VTUwotQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZGExNTM5NjY3OGQ5ZWJmMzE1MmQ4ZTljODRkM2MxNGNiNGU5ZjI3NS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotQUxFUlQ6IHVuZGVmaW5lZAotQUxFUlQ6
IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGlu
IHRoaXMgd29ybGQuCi1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gZXJyb3Ig
Y2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjE4OTRk
MmVhMjc1OGFlOTFmOTczOWE3YjU1NWQ1YzZlMzJkY2IxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUy
ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMgdGVzdCB0ZXN0
cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJp
Z2h0IHdvcmxkLgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5z
YWN0aW9uRXJyb3JDYWxsYmFja3NJbnZva2VkID0gMDsKLWZ1bmN0aW9uIGRvbmUoKQotewotICAg
IGlmICgoKyt0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KQot
ewotICAgIGFsZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRv
bmUoKTsKLX0KLQotZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMih0eCkKLXsKLSAg
ICBhbGVydChkb2N1bWVudC5ib2R5LmJhcik7Ci0gICAgZG9uZSgpOwotfQotCi1kb2N1bWVudC5i
b2R5LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdv
cmxkLiI7Ci1kb2N1bWVudC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNp
YmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7Ci0KLWlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFs
bERhdGFiYXNlcygpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCi0gICAgICAgIDAsCi0gICAg
ICAgICJmdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KVxuIiArCi0gICAgICAg
ICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4iICsKLSAg
ICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIgKwotICAg
ICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlv
bkVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAg
ICAgImRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkge1xuIiArCi0gICAgICAgICIgICAgdHgu
ZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1
bmN0aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7XG4iICsKLSAgICAgICAgIn0sIHRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFz
ZSgnVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEp
OwotICAgIGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRl
U3FsKCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgZnVuY3Rpb24o
dHgsIGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICB9LCB0cmFuc2FjdGlvbkVycm9yQ2Fs
bGJhY2syKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5MGIyZWQwMzRmZDk1YTdiYWU1MmEwODZlOWEyZWU1ZWJjZGVm
NzcyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2suaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDEwNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rp
b24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUi
KS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotLy8gc2lnbmFsIHRvIGxheW91
dFRlc3RDb250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHplcm8uCi12YXIgdGVzdENvdW50ID0g
NDsKLS8vIHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0aGUgbnVtYmVyIG9mIHJvd3MgYWxy
ZWFkeSBpbiBvdXIgdGVzdCBkYXRhYmFzZS4KLS8vIG91ciBnb2FsIGlzIHRvIGtlZXAgdGhlIG51
bWJlciB1bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCi12YXIgaW5pdGlhbFJvd0NvdW50ID0g
MDsKLXZhciBkYXRhYmFzZTsKLXZhciBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQ7Ci0KLWZ1bmN0aW9u
IGZpbmlzaFRlc3QoKQotewotICAgIGlmICgtLXRlc3RDb3VudCkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgbG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIpOwotCi0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKQotewotICAgIHN1Y2Nlc3ND
YWxsYmFja0NhbGxlZCA9IHRydWU7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeVN1Y2Nlc3MobXNnKQot
ewotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAg
dHguZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50IEZST00gRXJyb3JDYWxsYmFj
a1Rlc3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2co
bXNnICsgIiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50ID09IGluaXRpYWxSb3dDb3VudCAm
JiAhc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1MiIDogIkZBSUxVUkUiKSk7Ci0gICAg
ICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5jdGlv
biBmYWlsTWlkV2F5KGVycm9yQ2FsbGJhY2spCi17Ci0gICAgc3VjY2Vzc0NhbGxiYWNrQ2FsbGVk
ID0gZmFsc2U7Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpCi0gICAgewot
ICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBFcnJvckNhbGxiYWNrVGVzdChzb21l
VmFsdWUpIFZBTFVFUyg/KTsiLCBbIDEgXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIk1VVFRF
UiBTT01FVEhJTkcgSUxMRUdJQkxFIik7Ci0gICAgfSwgZXJyb3JDYWxsYmFjaywgc3VjY2Vzc0Nh
bGxiYWNrKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50Q2FsbGJhY2tUaHJvd3NFeGNlcHRpb24o
ZXJyb3JDYWxsYmFjaykKLXsKLSAgICBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPSBmYWxzZTsKLSAg
ICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKLSAgICB7Ci0gICAgICAgIHR4LmV4
ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0KHNvbWVWYWx1ZSkgVkFMVUVT
KD8pOyIsIFsgMSBdLCBmdW5jdGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRocm93IHt9
OwotICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKLSAgICB9Ci0KLSAgICBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRXJyb3JDYWxsYmFj
a0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBjYWxsYmFjayIsIDEpOwotICAgIGRh
dGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJyb3JDYWxsYmFja1Rlc3QgKHNvbWVW
YWx1ZSkiLCBbXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBjb3VudCgqKSBBUyBj
b3VudCBGUk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1bmN0aW9uKHR4LCBycykKLSAgICAg
ICAgewotICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0gcnMucm93cy5pdGVtKDApLmNvdW50
OwotICAgICAgICB9KTsKLSAgICB9KTsKLQotICAgIGZhaWxNaWRXYXkoZnVuY3Rpb24oKSB7IHJl
dHVybiB0cnVlOyB9KTsKLSAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHRyYW5zYWN0aW9uIGZh
aWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKLSAgICBm
YWlsTWlkV2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwotICAgIHZlcmlmeVN1Y2Nl
c3MoIlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFj
ayByZXR1cm4gZmFsc2UiKTsKLSAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihm
dW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3Rpbmcg
c3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sg
cmV0dXJuaW5nIHRydWUiKTsKLSAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihm
dW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKLSAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5n
IHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNr
IHJldHVybmluZyBmYWxzZSIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgPGNvZGU+U1FMVHJhbnNh
Y3Rpb25FcnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJk
bGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNr
IG9uIGZhaWx1cmUuCi08cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3Mt
Y2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQyN2Y0YWNlNzM4MzNiNWU2ZWM0Njg2
YWZlNzA1OTY0M2JmMWQ4Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBA
Ci1BTEVSVDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJs
ZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0
aGF0IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmln
aHQgd29ybGQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24t
c3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhMmRmOTRiMzRhZDU4NmI0MDc2MzQyMGMwYzcwMzY5
M2QyMTc4MmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24g
c3VjY2VzcyBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNr
c0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3RyYW5zYWN0aW9u
U3VjY2Vzc0NhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQot
ZnVuY3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sxKHR4KQotewotICAgIGFsZXJ0KCJG
QUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3Vt
ZW50LmJvZHkuYmFyKTsKLSAgICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZB
SUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3Vt
ZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxs
YmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFs
dWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9u
IHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eClcbiIgKwotICAgICAgICAie1xuIiArCi0g
ICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCi0gICAgICAgICIgICAg
d2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKLSAgICAgICAgIn1cbiIg
KwotICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNjZXNzQ2Fs
bGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAgImRiMS50
cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxs
YmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNj
ZXNzQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7Ci0gICAgZGIyLnRyYW5z
YWN0aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIG51bGwsIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNr
Mik7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jOTM5ZTM2NTBjNTU3M2ZiOWY4ZGQwNzZlZGMyMTkyZjk4N2Y3MWVlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIEpTIGRhdGFi
YXNlLmNoYW5nZVZlcnNpb24oKSBmdW5jdGlvbiB3b3JrcyBhcyBleHBlY3RlZC4KK0ZpbmlzaGVk
IHRlc3RzIHdpdGggdmVyc2lvbiAzOyBleHBlY3RlZCB2ZXJzaW9uOiAzCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9u
LWhhbmRsZS1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9j
aGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNzY0
ODFiMzRlYzI4NTYxZGUwMjcyMzRjNTk3ZjllNGY4OWExNTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0ZXN0cyB0aGF0IGEgZGF0YWJhc2UgY2Fu
IGJlIGFjY2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hvdWxkIHNlZSBh
biBlcnJvciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNtYXRjaGluZyB2
ZXJzaW9ucy4KK2NoYW5nZVZlcnNpb246IHRyYW5zYWN0aW9uIGNhbGxiYWNrCitjaGFuZ2VWZXJz
aW9uOiBzdWNjZXNzIGNhbGxiYWNrCit0cmFuc2FjdGlvbjogc3RhdGVtZW50IGVycm9yIGNhbGxi
YWNrOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogRm9vQmFy
KQorVEVTVCBDT01QTEVURS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjNm
YmY0ODRkN2E4NWEzNDkwYjUxNWI3MDg5NTQ0YWVlMDg2ZmExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+IAorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iY2hhbmdlLXZl
cnNpb24taGFuZGxlLXJldXNlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4gCis8Ym9keSBvbmxvYWQ9
InNldHVwQW5kUnVuVGVzdCgpIj4gCis8ZGl2PlRoaXMgdGVzdHMgdGhhdCBhIGRhdGFiYXNlIGNh
biBiZSBhY2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBpdHMgdmVyc2lvbi4gWW91IHNob3VsZCBzZWUg
YW4gZXJyb3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJlbG93LCBub3QgYWJvdXQgbWlzbWF0Y2hpbmcg
dmVyc2lvbnMuCis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4u
Cis8L3ByZT4gCis8L2JvZHk+IAorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljg0N2E1OGMzYjkxZmYyYzUwODBmMmM5MjBhNWQ0MWFiY2I1Y2UyYTIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1
c2UuanMKQEAgLTAsMCArMSw0NiBAQAorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9n
KCJURVNUIENPTVBMRVRFLiIpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5j
dGlvbiBydW5UZXN0KCkKK3sKKyAgICB0cnkgeworICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZVdp
dGhTdWZmaXgoIkNoYW5nZVZlcnNpb24iLCAiIiwgIlRlc3QgdGhhdCBjaGFuZ2luZyBhIGRhdGFi
YXNlIHZlcnNpb24gZG9lc24ndCBraWxsIG91ciBoYW5kbGUgdG8gaXQiLCAxKTsKKyAgICAgICAg
dmFyIHZlcnNpb24gPSBkYi52ZXJzaW9uOworICAgICAgICB2YXIgbmV3VmVyc2lvbiA9IHZlcnNp
b24gPyAocGFyc2VJbnQodmVyc2lvbikgKyAxKS50b1N0cmluZygpIDogIjEiOyAKKyAgICAgICAg
ZGIuY2hhbmdlVmVyc2lvbih2ZXJzaW9uLCBuZXdWZXJzaW9uLCBmdW5jdGlvbih0eCkgeworICAg
ICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlvbiBjYWxsYmFjayIpOworICAg
ICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9u
OiBlcnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICB9LCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjayIp
OworICAgICAgICAgICAgcnVuVGVzdDIoKTsKKyAgICAgICAgfSk7CisgICAgICAgIAorICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uIGV4Y2VwdGlvbjogIiArIGUp
OworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorIAorZnVuY3Rpb24gcnVuVGVzdDIo
KQoreworICAgIHRyeSB7CisgICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Cisg
ICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBmcm9tIEZvb0JhciIsIFtdLCBmdW5j
dGlvbih0eCkgeworICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBj
YWxsYmFjayIpOworICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIH0s
IGZ1bmN0aW9uKHR4LCBlcnJvcikgeworICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246
IHN0YXRlbWVudCBlcnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgIGxvZygidHJhbnNhY3Rpb24gZXhjZXB0aW9uOiAiICsgZSk7
CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFp
bHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVy
c2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYmIwZDU0OWNiMGNkNDdkZmE4NjYxZTZlNmM1OTg5MDQzYjk5YzMzMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNo
LW9uLXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMg
dGVzdCB2ZXJpZmllcyB0aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VW
ZXJzaW9uKCkncyBwcmVmbGlnaHQgc3RlcCBmYWlscy4KK1BBU1M6IGRiLmNoYW5nZVZlcnNpb24o
KSBmYWlsZWQgYXMgZXhwZWN0ZWQsIGFuZCBubyBhc3NlcnRpb25zIHdlcmUgdHJpZ2dlcmVkLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1u
by1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yYTUxMmZiOWFjOTFkZmI0ZGEyYzhmMmU4MzZkYmM1MDg3NjU5MTIwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24t
bm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7
Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAg
ICB2YXIgZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJDaGFuZ2VWZXJzaW9uRmFpbHVyZVRlc3Qi
LCAiMSIsICJUZXN0IHRoZSBwcmVmbGlnaHQgc3RlcCIsIDEwMjQpOworICAgIGRiLmNoYW5nZVZl
cnNpb24oIjIiLCAiMyIsIG51bGwsIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgIGxvZygiUEFT
UzogZGIuY2hhbmdlVmVyc2lvbigpIGZhaWxlZCBhcyBleHBlY3RlZCwgYW5kIG5vIGFzc2VydGlv
bnMgd2VyZSB0cmlnZ2VyZWQuIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9LCBmdW5j
dGlvbigpIHsKKyAgICAgICAgbG9nKCJGQUlMOiBkYi5jaGFuZ2VWZXJzaW9uKCkgd2FzIGV4cGVj
dGVkIHRvIGZhaWwuIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KK1RoaXMgdGVzdCB2ZXJp
ZmllcyB0aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJzaW9uKCkn
cyBwcmVmbGlnaHQgc3RlcCBmYWlscy4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdl
LXZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9u
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzliYjlkZjU4OGI5NGNkZGMwM2IyZjc5YWM5YWE0ZjA2NjQ2Yjk1
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12
ZXJzaW9uLmh0bWwKQEAgLTAsMCArMSwxMDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVz
dCBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uPC90aXRsZT4KKzxzY3JpcHQ+Cit2YXIgZGIxOwordmFy
IEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCA9ICcyJzsKK3ZhciBFWFBFQ1RFRF9W
RVJTSU9OX0FGVEVSX1JFTE9BRCA9ICczJzsKKworZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsg
fQorCitmdW5jdGlvbiBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2sodHgpCit7CisgICAgdHguZXhlY3V0
ZVNxbCgiRFJPUCB0YWJsZSBpZiBleGlzdHMgaW5mbzsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1w
dHlGdW5jdGlvbik7CisgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIHRhYmxlIGlmIG5vdCBleGlz
dHMgaW5mbyAodmVyc2lvbiBJTlRFR0VSKTsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5j
dGlvbik7CisgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIGludG8gaW5mbyB2YWx1ZXMoPyk7Iiwg
W0VYUEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5j
dGlvbik7Cit9CisKK2Z1bmN0aW9uIGNoYW5nZVZlcnNpb25TdWNjZXNzKCkKK3sKKyAgICBsb2co
IlN1Y2Nlc3NmdWxseSBjaGFuZ2VkIHZlcnNpb24gdG8gIiArIGRiMS52ZXJzaW9uICsgIi4gUmVs
b2FkaW5nLiIpOworICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsg
Jz8yJzsKK30KKworZnVuY3Rpb24gY2hhbmdlVmVyc2lvbkVycm9yKGVycm9yKQoreworICAgIGxv
ZygiRXJyb3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1
bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBsb2co
IlRFU1QgQ09NUExFVEUiKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJc
biI7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubG9jYXRpb24u
c2VhcmNoID09ICI/MiIpIHsKKyAgICAgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hh
bmdldmVyc2lvbi10ZXN0IiwgIiIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lv
bigpIGZ1bmN0aW9uIiwgMTAyNCk7CisgICAgICAgIGxvZygiRmluaXNoZWQgdGVzdHMgd2l0aCB2
ZXJzaW9uICIgKyBkYjEudmVyc2lvbiArICI7IGV4cGVjdGVkIHZlcnNpb246ICIgKyBFWFBFQ1RF
RF9WRVJTSU9OX0FGVEVSX1JFTE9BRCk7CisKKyAgICAgICAgLy8gUmVzZXQgdGhlIERCIHZlcnNp
b24gb3IgdGhlIG5leHQgcnVuIG1pZ2h0IGZhaWwuCisgICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9u
KGRiMS52ZXJzaW9uLCAiMSIpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgdGVzdFBhcnQxKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXJ0MSgpIHsKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgIH0KKworICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNp
b24tdGVzdCIsICIxIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVu
Y3Rpb24iLCAxMDI0KTsKKyAgICB2YXIgZGIyID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdl
dmVyc2lvbi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24o
KSBmdW5jdGlvbiIsIDEwMjQpOworCisgICAgLy8gRmlyc3QgcnVuIEhpeGllJ3MgdGVzdCB0byBl
bnN1cmUgYmFzaWMgY2hhbmdlVmVyc2lvbiBmdW5jdGlvbmFsaXR5IHdvcmtzIChzZWUgYnVnIDI4
NDE4KS4KKyAgICBkYjEuY2hhbmdlVmVyc2lvbigiMSIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJf
SElYSUVfVEVTVCwgbnVsbCwgZnVuY3Rpb24gKGUpIHsKKyAgICAgICAgbG9nKCJGQUlMIGluIGNo
YW5nZVZlcnNpb246IiArIGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSwgZnVuY3Rp
b24gKCkgeworICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZlcnNpb24gY2hhbmdlIGhhcyBwcm9w
YWdhdGVkIHRvIGRiMiB0b28uCisgICAgICAgIC8vIEFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNo
b3VsZCBmYWlsLgorICAgICAgICBpZiAoZGIyLnZlcnNpb24gIT0gZGIxLnZlcnNpb24pIHsKKyAg
ICAgICAgICAgIGxvZygiRkFJTDogY2hhbmdpbmcgZGIxJ3MgdmVyc2lvbiAoIiArIGRiMS52ZXJz
aW9uICsgIikgZGlkIG5vdCBjaGFuZ2UgZGIyJ3MgdmVyc2lvbiAoIiArIGRiMi52ZXJzaW9uICsg
IikgYXMgZXhwZWN0ZWQuIik7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0K
KyAgICAgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKKyAg
ICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBs
b2coIkZBSUw6IFRoZSBEQiB2ZXJzaW9uIGNoYW5nZWQsIGFsbCB0cmFuc2FjdGlvbnMgb24gZGIy
IHNob3VsZCBmYWlsLiIpOworICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICB9KTsK
KworICAgICAgICAvLyBNYWtlIHN1cmUgYW55IG5ldyBoYW5kbGUgdG8gdGhlIHNhbWUgREIgc2Vl
cyB0aGUgbmV3IHZlcnNpb24KKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBkYjMgPSBv
cGVuRGF0YWJhc2UoImNoYW5nZS12ZXJzaW9uLXRlc3QiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVS
X0hJWElFX1RFU1QsICIiLCAwKTsKKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAg
bG9nKCJGQUlMIGluIG9wZW5EYXRhYmFzZTogIiArIGUpOworICAgICAgICAgICAgZmluaXNoVGVz
dCgpOworICAgICAgICB9CisgICAgICAgIGlmIChkYjEudmVyc2lvbiAhPSBkYjMudmVyc2lvbikg
eworICAgICAgICAgICAgbG9nKCJGQUlMOiBkYi52ZXJzaW9uKCIgKyBkYjEudmVyc2lvbiArICIp
IGRvZXMgbm90IG1hdGNoIGRiMy52ZXJzaW9uKCIgKyBkYjMudmVyc2lvbiArIikiKTsKKyAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIE5vdyB0cnkgYSB0
ZXN0IHRvIGVuc3VyZSB0aGUgdmVyc2lvbiBwZXJzaXN0cyBhZnRlciByZWxvYWRpbmcgKHNlZSBi
dWcgMjc4MzYpCisgICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKEVYUEVDVEVEX1ZFUlNJT05fQUZU
RVJfSElYSUVfVEVTVCwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQUQsIGNoYW5nZVZlcnNp
b25DYWxsYmFjaywgY2hhbmdlVmVyc2lvbkVycm9yLCBjaGFuZ2VWZXJzaW9uU3VjY2Vzcyk7Cisg
ICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+
CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigp
IGZ1bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9j
bG9zZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yYWFkOTBjMTYyOWU1MGIwZTYwNTJjZjhiNmU0N2UxM2UxMDFjMDIyCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Nob3VsZCBub3QgY3Jhc2ggb3IgY2F1c2Ug
YW4gYXNzZXJ0aW9uIGZhaWx1cmUuCisKK0EgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25z
b2xlIGlzIGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVk
IHdoZW4gY2xvc2luZyBhIGZyYW1lLiBJdCBhY3R1YWxseSBoZWxwcyB0byBjYXVzZSBkYXRhYmFz
ZSBhY3Rpdml0eSBieSB0aHJvd2luZyBhbiBleGNlcHRpb24gZnJvbSBhIGNhbGxiYWNrLgorCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJl
c3MtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0
cmVzcy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNjNTJmZDk1NTBkOTllNDRhYjg2MzBmYzY3MDJl
ZDk0Mjg4NTdlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzxib2R5Pgor
PHA+U2hvdWxkIG5vdCBjcmFzaCBvciBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS48L3A+Cis8
cD5BIEphdmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwgaG93ZXZl
ciwgYXMgdGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBmcmFtZS4K
K0l0IGFjdHVhbGx5IGhlbHBzIHRvIGNhdXNlIGRhdGFiYXNlIGFjdGl2aXR5IGJ5IHRocm93aW5n
IGFuIGV4Y2VwdGlvbiBmcm9tIGEgY2FsbGJhY2suPC9wPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworfQorCitm
dW5jdGlvbiBzdGFydFRlc3QoKQoreworICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdpZnJhbWUnKVswXS5zcmMgPSAnYWJvdXQ6YmxhbmsnIiwgMTAwKTsKKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBzZXRUaW1lb3V0KCJs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCA1MDApOworfQorPC9zY3JpcHQ+Cis8
aWZyYW1lIHNyYz0icmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sIiBvbmxvYWQ9InN0YXJ0VGVz
dCgpIj48L2lmcmFtZT4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yNzI5NTYzYWI4MDhjYjNkYmVkNzcyNTJlN2U0MDIxMmI1MGNkMzIyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9j
ay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorSW5zZXJ0aW5nIHNv
bWUgZGF0YQorVGVzdCBwYXJ0IDIgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWI1OTg5Zjc4MDI1N2NmZDNiYTQ5OTk1ODVlNGU1NzY1MjEyYjE1MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXIt
cmVsb2FkLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
c29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5p
c2hUZXN0KCkKK3sKKyAgICBsb2coIlRlc3QgcGFydCAxIENvbXBsZXRlIik7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBlcnJvckZ1bmN0aW9uKGVycm9yKQoreworICAg
IGxvZygiVGVzdCBmYWlsZWQgLSAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgZmluaXNoVGVzdCgp
OworfQorCitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0
aW9uKHR4KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOworICAgICAgICAv
LyBMb2FkIGEgbmV3IHBhZ2Ugd2hpbGUgdGhlIHRyYW5zYWN0aW9uIGlzIHN0aWxsIGluIHByb2dy
ZXNzLCBpbnRlcnJ1cHRpbmcgdGhlIHRyYW5zYWN0aW9uLgorICAgICAgICAvLyBUaGlzIHNob3Vs
ZCBub3QgbGVhdmUgdGhlIGRhdGFiYXNlIGxvY2tlZCBhbmQgb24gdGhlIG5leHQgcGFnZSB3ZSBz
aG91bGQgYmUgYWJsZSB0byBpbnNlcnQKKyAgICAgICAgLy8gc29tZSBtb3JlIGRhdGEuCisgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVT
IChaRVJPQkxPQig1MjQyMDApKSIsIFtdLAorICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3Vs
dCkgeyBsb2NhdGlvbi5ocmVmID0gIi4vcmVzb3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVs
b2FkLTIuaHRtbCI7IH0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgZXJyb3JG
dW5jdGlvbihlcnJvcik7IH0pOworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBE
YXRhVGVzdCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0IoNTI0MjAwKSkiKTsKKyAgICB9LCBl
cnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKK30KKworZnVuY3Rp
b24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIgZGF0YWJhc2U7Cisg
ICAgdHJ5IHsKKyAgICAgICAgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rl
c3QiLCAiMS4wIiwgIlRlc3QgZm9yIGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKKyAgICB9
IGNhdGNoIChlKSB7CisgICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qgb3BlbiBkYXRhYmFz
ZSIpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorCisgICAgZGF0YWJhc2UudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgbG9nKCJBZGRpbmcgYSB0YWJsZSIpOworICAg
ICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgRGF0YVRlc3QgKHRlc3REYXRhKSIsIFtd
LCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJy
b3IpIHsgZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOworICAgIH0sIGVycm9yRnVuY3Rpb24sIGZ1
bmN0aW9uKCkgeyBhZGREYXRhKGRhdGFiYXNlKTsgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFk
PgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJl
PgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OGQ5ZGNhNGUy
NzM1MzRkYjNkODMzYjY5OTk1MGRjYjE1MTg0YWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIgQEAKK0V4ZWN1dGVkIGFuIGVtcHR5IHN0YXRlbWVudC4gSWYgeW91IGRpZG4ndCBzZWUg
YSBjcmFzaCBvciBhc3NlcnRpb24sIHRoZSB0ZXN0IHBhc3NlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmVjNWI4
Y2FjNWU0YTU4MjYwODc2YmI1MzlmYjhiYWI2MDRjZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50Lmh0bWwKQEAgLTAsMCArMSwz
NiBAQAorPGh0bWw+CisKKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gd3JpdGVNZXNzYWdl
VG9Mb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIp
LmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gZXhlY3V0ZUVtcHR5
U3RhdGVtZW50KHRyYW5zYWN0aW9uKQoreworICAgIHRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoIiIp
OworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJFeGVjdXRlZCBhbiBlbXB0eSBzdGF0ZW1lbnQuIElm
IHlvdSBkaWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0aGUgdGVzdCBwYXNzZWQuIik7
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIH0KKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkVtcHR5U3Rh
dGVtZW50VGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIGFuIGVtcHR5IHN0YXRlbWVudCB0ZXN0
IiwgMSk7CisgICAgZGIudHJhbnNhY3Rpb24oZXhlY3V0ZUVtcHR5U3RhdGVtZW50KTsKK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwcmUgaWQ9
ImNvbnNvbGUiPjwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBlMzBiNGJkZDZjZmRiZjJkOTIwMzlkNTVhMjllOTM2N2M2MmQxYWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitQQVNTLiBleGVjdXRlU3FsKG51bGwpIGRpZCBu
b3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKHVuZGVmaW5lZCkgZGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoMCkgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0
aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgW10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
CitQQVNTLiBleGVjdXRlU3FsKCIiLCBbICJhcmcwIiBdKSBkaWQgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyBsZW5ndGg6IDAgfSkgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAxLCAwOiAiYXJnMCIgfSkg
ZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51
bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxs
LCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3Fs
KCIiLCBudWxsLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRl
U3FsKCIiLCBudWxsLCBudWxsLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFT
Uy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFu
IGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgeyB9KSBkaWQgbm90
IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgpIHRocmV3IGFuIGV4Y2VwdGlv
biBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwodGhyb3dPblRvU3RyaW5nT2JqZWN0KSB0
aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCB0aHJv
d09uR2V0TGVuZ3RoT2JqZWN0KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNT
LiBleGVjdXRlU3FsKCIiLCB0aHJvd09uR2V0WmVyb09iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9u
IGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgWyB0aHJvd09uVG9TdHJpbmdPYmpl
Y3QgXSkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgi
IiwgMCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgi
IiwgIiIpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwo
IiIsIG51bGwsIDApIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1
dGVTcWwoIiIsIG51bGwsICIiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNT
LiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhw
ZWN0ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAiIikgdGhyZXcgYW4gZXhj
ZXB0aW9uIGFzIGV4cGVjdGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9leGVjdXRlLXNxbC1hcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9l
eGVjdXRlLXNxbC1hcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjlmMmE0M2FiYWEzNjdjZDk1Y2IwMjY4
YzlmNzRjOTg2YTk5YzVjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9ImV4ZWN1dGUtc3FsLWFyZ3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNvbGUiPiAK
K0ZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPiAKKzwvYm9keT4KKworPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5q
cyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2I5NDE0ZGIzY2EzYzgwNTA2MWJkYWM2YWM2YzhmYjdkN2ZjOTAyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanMK
QEAgLTAsMCArMSw4NiBAQAordmFyIHRocm93T25Ub1N0cmluZ09iamVjdCA9IHsgfTsKK3Rocm93
T25Ub1N0cmluZ09iamVjdC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBj
YWxsIHRvU3RyaW5nIG9uIHRoaXMgb2JqZWN0LiIgfTsKKwordmFyIHRocm93T25HZXRMZW5ndGhP
YmplY3QgPSB7IH07Cit0aHJvd09uR2V0TGVuZ3RoT2JqZWN0Ll9fZGVmaW5lR2V0dGVyX18oImxl
bmd0aCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgbGVuZ3RoIG9mIHRoaXMgb2Jq
ZWN0LiI7IH0pOworCit2YXIgdGhyb3dPbkdldFplcm9PYmplY3QgPSB7IGxlbmd0aDogMSB9Owor
dGhyb3dPbkdldFplcm9PYmplY3QuX19kZWZpbmVHZXR0ZXJfXygiMCIsIGZ1bmN0aW9uICgpIHsg
dGhyb3cgIkNhbm5vdCBnZXQgMCBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdC4iOyB9KTsKKwordmFy
IGV4cGVjdE5vRXhjZXB0aW9uID0gWworICAgICdudWxsJywKKyAgICAndW5kZWZpbmVkJywKKyAg
ICAnMCcsCisgICAgJyIiJywKKyAgICAnIiIsIG51bGwnLAorICAgICciIiwgdW5kZWZpbmVkJywK
KyAgICAnIiIsIFtdJywKKyAgICAnIiIsIFsgImFyZzAiIF0nLAorICAgICciIiwgeyB9JywKKyAg
ICAnIiIsIHsgbGVuZ3RoOiAwIH0nLAorICAgICciIiwgeyBsZW5ndGg6IDEsIDA6ICJhcmcwIiB9
JywKKyAgICAnIiIsIG51bGwsIG51bGwnLAorICAgICciIiwgbnVsbCwgdW5kZWZpbmVkJywKKyAg
ICAnIiIsIG51bGwsIHsgfScsCisgICAgJyIiLCBudWxsLCBudWxsLCBudWxsJywKKyAgICAnIiIs
IG51bGwsIG51bGwsIHVuZGVmaW5lZCcsCisgICAgJyIiLCBudWxsLCBudWxsLCB7IH0nLAorXTsK
KwordmFyIGV4cGVjdEV4Y2VwdGlvbiA9IFsKKyAgICAnJywKKyAgICAndGhyb3dPblRvU3RyaW5n
T2JqZWN0JywKKyAgICAnIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3QnLAorICAgICciIiwgdGhy
b3dPbkdldFplcm9PYmplY3QnLAorICAgICciIiwgWyB0aHJvd09uVG9TdHJpbmdPYmplY3QgXScs
CisgICAgJyIiLCAwJywKKyAgICAnIiIsICIiJywKKyAgICAnIiIsIG51bGwsIDAnLAorICAgICci
IiwgbnVsbCwgIiInLAorICAgICciIiwgbnVsbCwgbnVsbCwgMCcsCisgICAgJyIiLCBudWxsLCBu
dWxsLCAiIicsCitdOworCitmdW5jdGlvbiB0cnlFeGVjdXRlU3FsKHRyYW5zYWN0aW9uLCBwYXJh
bWV0ZXJMaXN0KQoreworICAgIHRyeSB7CisgICAgICAgIGV2YWwoJ3RyYW5zYWN0aW9uLmV4ZWN1
dGVTcWwoJyArIHBhcmFtZXRlckxpc3QgKyAnKScpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAg
ICB9IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgcmV0dXJuIGV4Y2VwdGlvbjsKKyAgICB9
Cit9CisKK2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgcGFyYW1ldGVy
TGlzdCwgZXhwZWN0RXhjZXB0aW9uKQoreworICAgIHZhciBleGNlcHRpb24gPSB0cnlFeGVjdXRl
U3FsKHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KTsKKyAgICBpZiAoZXhwZWN0RXhjZXB0aW9u
KSB7CisgICAgICAgIGlmIChleGNlcHRpb24pCisgICAgICAgICAgICBsb2coIlBBU1MuIGV4ZWN1
dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0
ZWQuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZygiKkZBSUwqLiBleGVjdXRlU3Fs
KCIgKyBwYXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24iKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICAgICAgbG9nKCIqRkFJ
TCouIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRpb246
ICIgKyBleGNlcHRpb24pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsb2coIlBBU1MuIGV4
ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
biIpOworICAgIH0KK30KKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25UZXN0cyh0cmFuc2FjdGlv
bikKK3sKKyAgICBmb3IgKGkgaW4gZXhwZWN0Tm9FeGNlcHRpb24pCisgICAgICAgIHJ1blRyYW5z
YWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0Tm9FeGNlcHRpb25baV0sIGZhbHNlKTsKKyAg
ICBmb3IgKGkgaW4gZXhwZWN0RXhjZXB0aW9uKQorICAgICAgICBydW5UcmFuc2FjdGlvblRlc3Qo
dHJhbnNhY3Rpb24sIGV4cGVjdEV4Y2VwdGlvbltpXSwgdHJ1ZSk7CisKKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworCisgICAgdmFyIGRiID0gb3Bl
bkRhdGFiYXNlV2l0aFN1ZmZpeCgiRXhlY3V0ZVNRTEFyZ3NUZXN0IiwgIjEuMCIsICJUZXN0IG9m
IGhhbmRsaW5nIG9mIHRoZSBhcmd1bWVudHMgdG8gU1FMVHJhbnNhY3Rpb24uZXhlY3V0ZVNxbCIs
IDEpOworICAgIGRiLnRyYW5zYWN0aW9uKHJ1blRyYW5zYWN0aW9uVGVzdHMpOworfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHkt
b25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9l
eGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iOTVjZWVlOGM4ODNhZGUxNDNlYTk2YTE1MjM1N2QwNjc1OWE5ZmE5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9u
bHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3Qg
dGVzdHMgdGhhdCBleGVjdXRlU3FsKCkgZmFpbHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0
aGF0IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlkIHN0YXRlbWVudCBpbiBpdC4KK1Rlc3QgcGFzc2Vk
LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFj
Y2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTM4NjBjODk5MjVmMmZjZGIxMDYzNmZlN2M2MjNhYzgzYjEzNjAyYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9u
ZS1zdGF0ZW1lbnQuaHRtbApAQCAtMCwwICsxLDc4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KKwordmFyIFRPVEFMX1NUQVRFTUVOVFMgPSA4OwordmFyIHN0YXRlbWVudHMgPSAwOwordmFy
IGRiID0gbnVsbDsKKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuYm9k
eS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRl
c3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVN0
YXRlbWVudChleHBlY3RlZFRvUGFzcywgc3RhdGVtZW50KQoreworICAgIGRiLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoc3RhdGVtZW50LCBbXSwKKyAg
ICAgICAgICAgIGZ1bmN0aW9uKHR4LCBkYXRhKSB7CisgICAgICAgICAgICAgICAgaWYgKCFleHBl
Y3RlZFRvUGFzcykgeworICAgICAgICAgICAgICAgICAgICBsb2coIlN0YXRlbWVudCAiICsgc3Rh
dGVtZW50ICsgIiB3YXMgZXhwZWN0ZWQgdG8gZmFpbCwgYnV0IHBhc3NlZC4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBpZiAoKytzdGF0ZW1lbnRzID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKKyAgICAgICAg
ICAgICAgICAgICAgbG9nKCJUZXN0IHBhc3NlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVy
bWluYXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIGZ1bmN0aW9u
KHR4LCBlcnJvcikgeworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZFRvUGFzcykgeworICAg
ICAgICAgICAgICAgICAgICBsb2coIlN0YXRlbWVudCAiICsgc3RhdGVtZW50ICsgIiB3YXMgZXhw
ZWN0ZWQgdG8gcGFzcywgYnV0IGZhaWxlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWlu
YXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoKytzdGF0
ZW1lbnRzID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJU
ZXN0IHBhc3NlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgIH0pOworfQorCitmdW5jdGlvbiBy
dW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRiID0gb3BlbkRhdGFiYXNlKCJF
eGVjdXRlU1FMQWNjZXB0c09ubHlPbmVTdGF0ZW1lbnRUZXN0IiwgIjEuMCIsICIiLCAxKTsKKyAg
ICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJD
UkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIpOworICAgIH0sIGZ1bmN0
aW9uKGVycm9yKSB7CisgICAgICAgIGxvZygiVGVzdCBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdl
KTsKKyAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAg
ICBleGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMSkiKTsK
KyAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMg
KDIpOyIpOworICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICIgICBJTlNFUlQgSU5UTyBU
ZXN0IFZBTFVFUyAoMykgICAgIik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAg
IElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg0KTsgICAiKTsKKyAgICAgICAgZXhlY3V0ZVN0YXRl
bWVudCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDUpICAgOyIpOworICAgICAgICBl
eGVjdXRlU3RhdGVtZW50KGZhbHNlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDYpOyBnYXJi
YWdlIik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2UsICJJTlNFUlQgSU5UTyBUZXN0
IFZBTFVFUyAoNyk7IElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg4KSIpOworICAgICAgICBleGVj
dXRlU3RhdGVtZW50KGZhbHNlLCAiICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoOSk7ICAgSU5T
RVJUIElOVE8gVGVzdCBWQUxVRVMgKDEwKTsgICAiKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IHRlc3RzIHRo
YXQgZXhlY3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVkIHdpdGggYSBzdHJpbmcgdGhhdCBoYXMg
bW9yZSB0aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4gaXQuPGJyPgorPC9ib2R5PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1j
aGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
aGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlOTY0ZTYzNzVi
ZDNhMzFiYWI4OGI3MjU1YjhmNTQwNzI0Y2NjZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitDaGFuZ2luZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVz
LgorRGIgaXMgd2FybWVkIHVwCitUZXN0IENvbXBsZXRlLCBTVUNDRVNTCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU4NDMyMGYwZjE5Yzc4YzRmY2M4YzZmODU0MjBiZThjZjU2YjMzOWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXho
ci5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPiAKKzxoZWFkPiAKKzx0aXRsZT5IYXNoIENo
YW5nZSB3aXRoIGFuIE9wZW4gWEhSIHNob3VsZCBub3Qgc3RvcCBkYXRhYmFzZSB0cmFuc2FjdGlv
bnM8L3RpdGxlPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Imhhc2gtY2hhbmdlLXdpdGgteGhyLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4gCis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4gCis8cHJlIGlkPSJj
b25zb2xlIj4KK0ZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPgorPC9ib2R5PiAKKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdl
LXdpdGgteGhyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0
aC14aHIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y1NmY3OTVhMTgyZTFhODFkYWZiNjQwMGVjODNjOGMzMGMw
ZDVmYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gt
Y2hhbmdlLXdpdGgteGhyLmpzCkBAIC0wLDAgKzEsMTE4IEBACit2YXIgREJfVVBEQVRFX0lOVEVS
VkFMID0gMTAwOwordmFyIFNFTkRfWEhSX0lOVEVSVkFMID0gMTAwOwordmFyIEJBQ0tfSU5URVJW
QUwgPSAxMDA7Cit2YXIgQ1JFQVRFX0hFQUxUSF9UQUJMRSA9ICdDUkVBVEUgVEFCTEUgSUYgTk9U
IEVYSVNUUyBoZWFsdGggKGtleSBWQVJDSEFSKDE2KSBQUklNQVJZIEtFWSk7JzsKK3ZhciBVUERB
VEVfREFUQSA9ICdSRVBMQUNFIElOVE8gaGVhbHRoIFZBTFVFUygiaGVhbHRoLWNoZWNrLWtleSIp
Oyc7CisgCit2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCdidWcyNTcxMCcsICcxLjAn
LCAnTGF5b3V0VGVzdCBmb3IgYnVnIDI1NzEwJywgMTAyNDAwKTsKK3ZhciBiYWNrSXRlcmF0aW9u
czsKK3ZhciB4aHJGY3RJbnRlcnZhbElkOwordmFyIGJhY2tGY3RJbnRlcnZhbElkOwordmFyIHN1
Y2Nlc3NDaGVja0ludGVydmFsSWQ7Cit2YXIgZGJGY3RJbnRlcnZhbElkOwordmFyIHN1Y2Nlc3Nl
czsKK3ZhciBkYXRhYmFzZVVwZGF0ZXM7Cit2YXIgc3RvcHBlZEludGVydmFsczsKKyAKK2Z1bmN0
aW9uIHN0b3BJbnRlcnZhbHMoKQoreworICAgIHN0b3BwZWRJbnRlcnZhbHMgPSB0cnVlOworICAg
IGNsZWFySW50ZXJ2YWwoZGJGY3RJbnRlcnZhbElkKTsKKyAgICBjbGVhckludGVydmFsKHhockZj
dEludGVydmFsSWQpOworICAgIGNsZWFySW50ZXJ2YWwoYmFja0ZjdEludGVydmFsSWQpOworfQor
CitmdW5jdGlvbiBzdG9wVGVzdChtZXNzYWdlKQoreworICAgIGlmICghc3RvcHBlZEludGVydmFs
cykKKyAgICAgICAgc3RvcEludGVydmFscygpOworCisgICAgbG9nKG1lc3NhZ2UpOworCisgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworfQorICAgIAorZnVuY3Rpb24gdXBkYXRlRGF0YWJhc2UoKQor
eworICAgIGRhdGFiYXNlVXBkYXRlcysrOyAgCisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHJhbnNhY3Rpb24pIHsKKyAgICAgICAgdHJhbnNhY3Rpb24uZXhlY3V0ZVNxbChVUERBVEVfREFU
QSwgW10sIGZ1bmN0aW9uKCkge30sIGVycm9ySGFuZGxlcik7CisgICAgfSwgZXJyb3JIYW5kbGVy
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgc3VjY2Vzc2VzKys7CisgICAgfSk7Cit9CisKK2Z1bmN0
aW9uIGNoZWNrRm9yU3VjY2VzcygpCit7CisgICAgaWYgKHN1Y2Nlc3NlcyA9PSBkYXRhYmFzZVVw
ZGF0ZXMpIHsKKyAgICAgICAgc3RvcFRlc3QoJ1Rlc3QgQ29tcGxldGUsIFNVQ0NFU1MnKTsKKyAg
ICAgICAgY2xlYXJJbnRlcnZhbChzdWNjZXNzQ2hlY2tJbnRlcnZhbElkKTsKKyAgICB9Cit9Cisg
CitmdW5jdGlvbiBlcnJvckhhbmRsZXIodHgsIGVycm9yKQoreworICAgIGxvZygnREIgZXJyb3Is
IGNvZGU6ICcgKyBlcnJvci5jb2RlICsgJywgbXNnOiAnICsgZXJyb3IubWVzc2FnZSk7CisgICAg
c3RvcFRlc3QoJ1Rlc3QgQ29tcGxldGUsIEZBSUxFRCcpOworfQorIAorZnVuY3Rpb24gc2VuZFho
cigpCit7CisgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgeGhyLm9wZW4oJ0dF
VCcsIGxvY2F0aW9uLmhyZWYsIHRydWUpOworICAgIHhoci5zZW5kKCcnKTsKK30KKyAKK2Z1bmN0
aW9uIGludm9rZUJhY2soKQoreworICAgIGJhY2tJdGVyYXRpb25zLS07CisgICAgaWYgKGJhY2tJ
dGVyYXRpb25zKSB7CisgICAgICAgIGhpc3RvcnkuYmFjaygpOworICAgIH0gZWxzZSB7CisgICAg
ICAgIHN0b3BJbnRlcnZhbHMoKTsKKyAgICAgICAgLy8gQWxsb3cgYSBsaXR0bGUgdGltZSBmb3Ig
YWxsIHRoZSBkYXRhYmFzZSB0cmFuc2FjdGlvbnMgdG8gY29tcGxldGUgbm93IHdlJ3ZlIHN0b3Bw
ZWQgbWFraW5nIHRoZW0uCisgICAgICAgIHN1Y2Nlc3NDaGVja0ludGVydmFsSWQgPSBzZXRJbnRl
cnZhbChjaGVja0ZvclN1Y2Nlc3MsIDI1MCk7CisgICAgICAgIC8vIElmIHdlIGRvbid0IGZpbmlz
aCBiZWZvcmUgdGhpcyB0aW1lLCB0aGVuIHdlIGNvbnNpZGVyIHRoZSB0ZXN0IGZhaWxlZC4KKyAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgc3RvcFRlc3QoJ1RpbWVkIG91dCB3YWl0aW5n
IGZvciB0cmFuc2FjdGlvbnMgdG8gY29tcGxldGUuIEZBSUxFRCcpOyB9LCAyMDAwMCk7CisgICAg
ICAgIAorICAgIH0KK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgLy8gTG9jYXRpb24g
Y2hhbmdlcyBuZWVkIHRvIGhhcHBlbiBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB0byBnZW5l
cmF0ZSBoaXN0b3J5IGVudHJpZXMuCisgICAgc2V0VGltZW91dChydW5UZXN0c0lubmVyLCAwKTsK
K30KKworZnVuY3Rpb24gcnVuVGVzdHNJbm5lcigpCit7CisgICAgYmFja0l0ZXJhdGlvbnMgPSAx
MDsKKyAgICBjb25zZWN1dGl2ZUZhaWx1cmVzID0gMDsKKyAgICBzdWNjZXNzZXMgPSAwOworICAg
IGRhdGFiYXNlVXBkYXRlcyA9IDA7CisgICAgc3RvcHBlZEludGVydmFscyA9IGZhbHNlOworCisg
ICAgLy8gQ3JlYXRlIHNvbWUgaGFzaGVzIHNvIHdlIGNhbiBjYWxsIGhpc3RvcnkuYmFjaygpLgor
ICAgIGxvZygnQ2hhbmdpbmcgdGhlIGhhc2ggdG8gY3JlYXRlIGhpc3RvcnkgZW50cmllcy4nKTsK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJhY2tJdGVyYXRpb25zOyBpKyspIHsKKyAgICAgICAg
c2V0TG9jYXRpb25IYXNoKGkpOworICAgIH0KKworICAgIC8vIEluaXQgdGhlIGRhdGFiYXNlLgor
ICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHRyYW5zYWN0aW9uKSB7CisgICAgICAgIHRyYW5z
YWN0aW9uLmV4ZWN1dGVTcWwoQ1JFQVRFX0hFQUxUSF9UQUJMRSwgW10sIGZ1bmN0aW9uKCkge30s
IGVycm9ySGFuZGxlcik7CisgICAgfSwgZXJyb3JIYW5kbGVyLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgLy8gR2l2ZSBhIGxpdHRsZSBmb3IgdGhlIGRhdGFiYXNlIHRvICd3YXJtIHVwJyBiZWZvcmUg
bWFraW5nIHhociByZXF1ZXN0cworICAgICAgICAvLyBhbmQgY2FsbGluZyBoaXN0b3J5LmJhY2so
KS4KKyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGxvZygnRGIg
aXMgd2FybWVkIHVwJyk7CisKKyAgICAgICAgICAgIC8vIE5PVEU6IElmIHdlIGRvbid0IG1ha2Ug
YW55IHhociByZXF1ZXN0cywgdGhlbiB0aGUgdGVzdAorICAgICAgICAgICAgLy8gc3VjY2Vzc2Z1
bGx5IHBhc3NlcyAoY29tbWVudCB0aGlzIGxpbmUgb3V0KS4KKyAgICAgICAgICAgIHhockZjdElu
dGVydmFsSWQgPSBzZXRJbnRlcnZhbChzZW5kWGhyLCBTRU5EX1hIUl9JTlRFUlZBTCk7CisgICAg
ICAgICAgICBiYWNrRmN0SW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGludm9rZUJhY2ssIEJBQ0tf
SU5URVJWQUwpOworICAgICAgICAgICAgZGJGY3RJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwodXBk
YXRlRGF0YWJhc2UsIERCX1VQREFURV9JTlRFUlZBTCk7CisgICAgICAgIH0sIDUwMCk7CisgICAg
fSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1k
YXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQwMTUxNGE2YWVmYjM2MjhlYjAwMzY0Y2IyNjI0YzIwZTBlODkw
MDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBs
ZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKK1RoaXMgdGVzdCBvcGVucyB0d28gZGF0YWJhc2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Yg
b3BlcmF0aW9ucyBvbiBib3RoLCB0aGVuICJmb3JnZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0
ZXIgZm9yY2luZyBHQywgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNo
b3VsZCBiZSBmcmVlZCBncmFjZWZ1bGx5LgorRm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9u
IENvbXBsZXRlCitQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1n
YXJiYWdlLWNvbGxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRp
cGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDUxYWNm
YmI5OWE0MzlkZDgyNDc2YzE5OTQ5MTY2ODZhOWE2ZjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVj
dGlvbi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibXVs
dGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBv
bmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3Qgb3BlbnMgdHdvIGRhdGFiYXNl
cywgcXVldWVzIHVwIGEgc2VyaWVzIG9mIG9wZXJhdGlvbnMgb24gYm90aCwgdGhlbiAiZm9yZ2V0
cyIgYWJvdXQgb25lIG9mIHRoZW0uCitBZnRlciBmb3JjaW5nIEdDLCByZXNvdXJjZXMgYXNzb2Np
YXRlZCB3aXRoIHRoYXQgZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVsbHkuPGJyPgor
PHByZSBpZD0iY29uc29sZSI+IAorRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
bXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWEyYjI3ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZlZjY0NDIwZDg2ZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNl
cy1nYXJiYWdlLWNvbGxlY3Rpb24uanMKQEAgLTAsMCArMSw1NiBAQAorZnVuY3Rpb24gR0MoKQor
eworICAgIC8vIEZvcmNlIEdDLgorICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAgICAg
ICBHQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgIGVsc2UgeworICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICAgICAgICAgICh7IH0pOworICAgICAgICB9Cisg
ICAgfQorfQorCisvLyBWYXJpYWJsZSBmb3IgdGhlIGRhdGFiYXNlIHRoYXQgd2lsbCBuZXZlciBi
ZSBmb3Jnb3R0ZW4KK3ZhciBwZXJzaXN0ZW50REIgPSAwOworLy8gVmFyaWFibGUgZm9yIHRoZSBm
b3Jnb3R0ZW4gZGF0YWJhc2UKK3ZhciBmb3Jnb3R0ZW5EQiA9IDA7CisKK3ZhciBjb21wbGV0ZWQg
PSAwOworZnVuY3Rpb24gY2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICBpZiAoKytjb21wbGV0ZWQg
PT0gMiAmJiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAg
cGVyc2lzdGVudERCID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVEYXRhYmFzZXNU
ZXN0MSIsICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9mIGEgc2V0IG9mIGRhdGFiYXNlcyBiZWluZyBk
ZXN0cm95ZWQgKDEpIiwgMzI3NjgpOworICAgIGZvcmdvdHRlbkRCID0gb3BlbkRhdGFiYXNlV2l0
aFN1ZmZpeCgiTXVsdGlwbGVEYXRhYmFzZXNUZXN0MiIsICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9m
IGEgc2V0IG9mIGRhdGFiYXNlcyBiZWluZyBkZXN0cm95ZWQgKDIpIiwgMzI3NjgpOworCisgICAg
cGVyc2lzdGVudERCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUZXN0IChyYW5kb21EYXRhKSIs
IFtdLCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IAorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCAyNTsgKytpKQorICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRP
IERhdGFUZXN0IChyYW5kb21EYXRhKSBWQUxVRVMgKDEpIiwgW10pOworICAgICAgICB9KTsgCisg
ICAgfSwgZnVuY3Rpb24oZXJyKSB7CisgICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBU
cmFuc2FjdGlvbiBFcnJvcmVkIC0gIiArIGVycik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigp
OworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBsb2coIlBlcnNpc3RlbnQgRGF0YWJhc2Ug
VHJhbnNhY3Rpb24gQ29tcGxldGUiKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAg
fSk7CisKKyAgICBmb3Jnb3R0ZW5EQi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAg
ICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBFbXB0eVRhYmxlICh1
bmltcG9ydGFudERhdGEpIiwgW10pOworICAgIH0sIGZ1bmN0aW9uKGVycikgeworICAgICAgICBs
b2coIkZvcmdvdHRlbiBEYXRhYmFzZSBUcmFuc2FjdGlvbiBFcnJvcmVkIC0gIiArIGVycik7Cisg
ICAgICAgIGZvcmdvdHRlbkRCID0gMDsKKyAgICAgICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21w
bGV0aW9uKCk7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiRm9yZ290dGVuIERh
dGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlIik7CisgICAgICAgIGZvcmdvdHRlbkRCID0gMDsK
KyAgICAgICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7Cit9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlv
bnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJh
bnNhY3Rpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTljMGY2ZTk1YmFmYjhmNTc4MzM2
MDk2MTZlZjUyYzcwODk2MTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYg
QEAKK1RoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0
aXBsZSB0cmFuc2FjdGlvbnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9u
Y2U6CitUcmFuc2FjdGlvbiAxIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCitUcmFu
c2FjdGlvbiAyIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDIgU3VjY2VlZGVkCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZm
ZXJlbnQtaGFuZGxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9t
dWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJhNmEyZDE3Y2EwNjg3MTc1OTAxYjNlYmJlMDdjYzYyZjhmMmQ2ZTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2Fj
dGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAor
VGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11bHRpcGxlIHRyYW5zYWN0aW9u
cyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRzIGluIGEg
ZGVhZGxvY2suCitkYjEgcmVhZCBzdGF0ZW1lbnQgc3VjY2VlZGVkCitkYjEgd3JpdGUgc3RhdGVt
ZW50IHN1Y2NlZWRlZAorZGIxIHRyYW5zYWN0aW9uIHN1Y2NlZWRlZAorZGIyIHJlYWQgc3RhdGVt
ZW50IHN1Y2NlZWRlZAorZGIyIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKK2RiMiB0cmFuc2Fj
dGlvbiBzdWNjZWVkZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
bXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhh
bmRsZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTE4YzMyMmMxNWEzNmI0MWIxNDMwNzMyM2U2Mzk2MGFk
ZTE2MGMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKQEAgLTAsMCArMSwx
MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29t
bW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJtdWx0aXBsZS10cmFuc2FjdGlvbnMtb24t
ZGlmZmVyZW50LWhhbmRsZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJz
ZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVw
IG11bHRpcGxlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBk
YXRhYmFzZSByZXN1bHRzIGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+IAor
RkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25z
LW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlh
YjRiOTNlZjgzYTc2YzdlNGM5MjQ4MWRmZmYwZTUxNzdmNGFjMWQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlm
ZmVyZW50LWhhbmRsZXMuanMKQEAgLTAsMCArMSw3OCBAQAordmFyIGNvbXBsZXRlID0gMDsKKwor
ZnVuY3Rpb24gY2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5k
IGFmdGVyIHR3byB0cmFuc2FjdGlvbnMKKyAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCisvLyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3Qg
Y2FzZQorZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7CisgICAgcmV0dXJuIG9wZW5EYXRh
YmFzZVdpdGhTdWZmaXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVz
dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcg
bXVsdGlwbGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJl
c3VsdCBpbiBhIGRlYWRsb2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MzI3NjgpOworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBz
dGF0ZW1lbnRUeXBlKQoreworICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsg
IiBzdGF0ZW1lbnQgc3VjY2VlZGVkIik7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2Fs
bGJhY2soZGJOYW1lLCBzdGF0ZW1lbnRUeXBlLCBlcnJvcikKK3sKKyAgICBsb2coZGJOYW1lICsg
IiAiICsgc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3Nh
Z2UpOworfQorCisvLyBSdW5zIGEgdHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCitm
dW5jdGlvbiBydW5UcmFuc2FjdGlvbihkYiwgZGJOYW1lLCB2YWwpCit7CisgICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRl
bWVudAorICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7Iiwg
W10sCisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3Vj
Y2Vzc0NhbGxiYWNrKGRiTmFtZSwgInJlYWQiKTsgfSwKKyAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHR4LCBlcnJvcikgeyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQi
LCBlcnJvcik7IH0pOworCisgICAgICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBt
YWtlIHN1cmUgU1FMaXRlIHRyaWVzIHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhl
IERCIGZpbGUKKyAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAo
Pyk7IiwgW3ZhbF0sCisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3Rh
dGVtZW50U3VjY2Vzc0NhbGxiYWNrKGRiTmFtZSwgIndyaXRlIik7IH0sCisgICAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5h
bWUsICJ3cml0ZSIsIGVycm9yKTsgfSk7CisgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAg
ICAgICAgICAgLy8gVHJhbnNhY3Rpb24gZmFpbHVyZSBjYWxsYmFjaworICAgICAgICAgICBsb2co
ZGJOYW1lICsgIiB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAg
ICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgIC8vIFRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sKKyAgICAgICAgICAgbG9nKGRiTmFt
ZSArICIgdHJhbnNhY3Rpb24gc3VjY2VlZGVkIik7CisgICAgICAgICAgIGNoZWNrQ29tcGxldGlv
bigpOworICAgICAgIH0pOworfQorCisvLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBU
ZXN0IHRhYmxlIGV4aXN0cyBiZWZvcmUgd2UgcnVuIG91ciB0ZXN0LgorLy8gVGhlcmVmb3JlLCB0
aGUgdGVzdCBjb2RlIGlzIGluIHRoZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9u
IHRoYXQgY3JlYXRlcyB0aGUgdGFibGUuCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHRyeSB7
CisgICAgICAgIHZhciBkYiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJs
ZSBpZiBpdCBkb2VzIG5vdCBleGlzdAorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRF
IFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7IiwgW10sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30p
OworICAgICAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBsb2co
IkNyZWF0aW5nIHRoZSBUZXN0IHRhYmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAg
ICAgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFi
bGUgd2FzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5CisgICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9w
ZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRh
YmFzZSgpOworICAgICAgICAgICAgICAgIGlmIChkYjEgPT0gZGIyKQorICAgICAgICAgICAgICAg
ICAgICBsb2coImZhaWx1cmU6IGRiMSA9PSBkYjIiKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7CisgICAg
ICAgICAgICAgICAgICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgIH0gY2F0Y2goZXJyKSB7fQorfQorCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9u
cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25z
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzU5NzQ0MDEzOTZlZmRjODc1M2E2MGZiM2U5NDgxMjQyODUwMzRj
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxl
LXRyYW5zYWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0ibXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxoZWFkPgorPGJvZHkg
b25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHRo
ZSBkYXRhYmFzZSBBUEkgYWxsb3dzIG11bHRpcGxlIHRyYW5zYWN0aW9ucyB0byBiZSBxdWV1ZWQg
b24gdGhlIHNhbWUgZGF0YWJhc2UgYXQgb25jZTo8YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4gCitG
QUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4gCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMu
anMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODVjZGFiY2RiZGQ2NGMzYjRhMWRkNjNmMzUzMTU4Njk2MmNhZDYxOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5z
YWN0aW9ucy5qcwpAQCAtMCwwICsxLDMyIEBACit2YXIgY29tcGxldGUgPSAwOworCitmdW5jdGlv
biBjaGVja0NvbXBsZXRpb24oKQoreworICAgIGlmICgrK2NvbXBsZXRlID09IDIgJiYgd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYiA9IG9wZW5E
YXRhYmFzZVdpdGhTdWZmaXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zVGVzdCIsICIxLjAiLCAiVGVz
dCB0byBtYWtlIHN1cmUgbXVsdGlwbGUgdHJhbnNhY3Rpb25zIGNhbiBiZSBxdWV1ZWQgYXQgb25j
ZSBmb3IgYW4gSFRNTDUgZGF0YWJhc2UiLCAzMjc2OCk7CisKKyAgICBkYi50cmFuc2FjdGlvbihm
dW5jdGlvbih0eCkgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3RhcnRlZCIpOworICAg
IH0sIGZ1bmN0aW9uKGVycikgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgRXJyb3JlZCAt
ICIgKyBlcnIpOworICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKKyAgICB9LCBmdW5jdGlvbigp
IHsKKyAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAxIFN1Y2NlZWRlZCIpOworICAgICAgICBjaGVj
a0NvbXBsZXRpb24oKTsKKyAgICB9KTsKKworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdGFydGVkIik7CisgICAgfSwgZnVuY3Rp
b24oZXJyKSB7CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBFcnJvcmVkIC0gIiArIGVycik7
CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAg
ICBsb2coIlRyYW5zYWN0aW9uIDIgU3VjY2VlZGVkIik7CisgICAgICAgIGNoZWNrQ29tcGxldGlv
bigpOworICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
bnVsbC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
bnVsbC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMTE2NzUxMDZkODE2OTkx
MTE0YWQ5MWM2NjM4MGMyN2MzN2QzYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBA
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4
cGVjdCBhbiBvcHRpb25hbCBjYWxsYmFjay4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYTBlMWMzZmZiY2QzMzY2
MTBkZmEzN2E1ODc2OWYwMmM0ODY5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNs
ZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAg
IH0KKworICAgIHRyeSB7CisgICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiTnVsbENhbGxi
YWNrcyIsICIxLjAiLCAiVGVzdCBmb3IgbnVsbCBjYWxsYmFja3MuIiwgMSk7CisgICAgICAgIGRi
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJD
UkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIsIG51bGwpOworICAgICAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKD8pIiwgWzFdLCBu
dWxsLCBudWxsKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3Qg
VkFMVUVTICg/KSIsIFsyXSwgbnVsbCk7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNF
UlQgSU5UTyBUZXN0IFZBTFVFUyAoMykiLCBudWxsLCBudWxsLCBudWxsKTsKKyAgICAgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs0XSwgbnVsbCwK
KyAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHt9KTsKKyAgICAgICAgfSwgbnVs
bCwgbnVsbCk7CisKKyAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAg
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs1XSk7
CisgICAgICAgIH0sIG51bGwsIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOworICAgIH0g
Y2F0Y2goZXJyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIiku
aW5uZXJIVE1MID0gIkZBSUwiOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCis8
L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0ICdudWxsJyBjYW4gYmUgdXNlZCB3aGVyZXZlciB3ZSBleHBlY3QgYW4gb3B0
aW9uYWwgY2FsbGJhY2suCis8cHJlIGlkPSJjb25zb2xlIj5QQVNTPC9wcmU+Cis8L2JvZHk+CisK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0
YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjJmM2ZjYjZiYWRkYTEzMDUxNTI4OTZlNDhhMmExMDUzM2QyY2IxNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3Jl
YXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNT
QUdFOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJzEuMCcgZG9l
cyBub3QgbWF0Y2ggdGhlIGN1cnJlbnRWZXJzaW9uIG9mICcnCitUaGlzIHRlc3QgdGVzdHMgb3Bl
bkRhdGFiYXNlKCkncyBjcmVhdGlvbiBjYWxsYmFjay4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRl
ZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mYTk2YTY3NTRkOGRmNTc0MDBjZTQ2YzlkY2NhMjNlNWM0Mjc1ODQ1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVh
dGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CitBTEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJs
ZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMgdGVzdCB0ZXN0cyB0
aGF0IHRoZSBvcGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhl
IHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9v
cGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThhNDY2NGJlMjBmZmZjNWJkODk5OWVmNDQ4
N2JmYWIwZWY1Y2I0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApA
QCAtMCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRl
c3QgdGVzdHMgdGhhdCB0aGUgb3BlbkRhdGFiYXNlKCkgY3JlYXRpb24gY2FsbGJhY2sgaXMgY2Fs
bGVkIGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dD4KK3ZhciBjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQor
eworICAgIGlmICgoKytjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID09IDIpICYmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKQoreworICAgIGFs
ZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30K
KworZnVuY3Rpb24gY3JlYXRpb25DYWxsYmFjazIoZGIpCit7CisgICAgYWxlcnQoZG9jdW1lbnQu
Ym9keS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDog
ZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOworZG9jdW1lbnQu
Ym9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNr
IGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRl
U2NyaXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAgICAgICAiZnVuY3Rpb24gY3Jl
YXRpb25DYWxsYmFjazEoZGIpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFs
ZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlv
bj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZh
ciBkYjEgPSBvcGVuRGF0YWJhc2UoJ09wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tJc29sYXRl
ZFdvcmxkJywgJzEuMCcsICcnLCAxLCBjcmVhdGlvbkNhbGxiYWNrMSk7Iik7CisKKyAgICB2YXIg
ZGIyID0gb3BlbkRhdGFiYXNlKCdPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRX
b3JsZDInLCAnMS4wJywgJycsIDEsIGNyZWF0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
b3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA4MTY0NWM0NWVlNzRkNGI2MWFhMDE5ODAzNGE5NGE4ZDRhN2UzNTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNh
bGxiYWNrLmh0bWwKQEAgLTAsMCArMSw5MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
c29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5p
c2hUZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRl
c3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuc2V0RGF0YWJhc2VRdW90YSgzMjc2OCk7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOworICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIgdHJhbnNhY3Rpb25zUnVuID0gMDsKKwor
ICAgIC8vIE9wZW4gYSBuZXcgZGF0YWJhc2Ugd2l0aCBhIGNyZWF0aW9uIGNhbGxiYWNrLCBhbmQg
bWFrZSBzdXJlIHRoZSBjcmVhdGlvbiBjYWxsYmFjayBpcyBxdWV1ZWQKKyAgICB2YXIgY3JlYXRp
b25DYWxsYmFja0NhbGxlZDEgPSBmYWxzZTsKKyAgICB2YXIgZGIxTmFtZSA9ICJPcGVuRGF0YWJh
c2VDcmVhdGlvbkNhbGxiYWNrMSIgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgpOworICAgIHZhciBk
YjEgPSBvcGVuRGF0YWJhc2UoZGIxTmFtZSwgIjEuMCIsICIiLCAxLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb24oZGIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKGRiLnZlcnNpb24gIT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFjayB3YXMgY2FsbGVkIHdpdGggYSBkYXRh
YmFzZSB3aXRoIHZlcnNpb24gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkYi52ZXJzaW9uICsgIjsgZW1wdHkgc3RyaW5nIGV4cGVjdGVkLiIpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAv
LyBQdXR0aW5nIHRoaXMgY29kZSBpbnNpZGUgYSB0cmFuc2FjdGlvbiBvbiAnZGIxJyBtYWtlcyBz
dXJlIHRoYXQgaXQgaXMgZXhlY3V0ZWQgYWZ0ZXIKKyAgICAvLyB0aGUgY3JlYXRpb24gY2FsbGJh
Y2sgaXMuCisgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmICgh
Y3JlYXRpb25DYWxsYmFja0NhbGxlZDEpIHsKKyAgICAgICAgICAgIGxvZygiQ3JlYXRpb24gY2Fs
bGJhY2sgZm9yIGRiMSB3YXMgbm90IGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0gMikKKyAgICAg
ICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKKworICAgIC8vIFRyeSB0byBvcGVuIGFub3Ro
ZXIgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlLgorICAgIC8vIFNpbmNlIHRoZSB2ZXJzaW9u
IG9mIHRoaXMgZGF0YWJhc2UgaXMgIiIgKGVtcHR5IHN0cmluZyksIG9wZW5EYXRhYmFzZSgpIHNo
b3VsZCByZXR1cm4KKyAgICAvLyBhIG51bGwgaGFuZGxlIGFuZCB0aHJvdyBhIElOVkFMSURfU1RB
VEVfRVJSIGV4Y2VwdGlvbi4KKyAgICB2YXIgZGIxRmFpbCA9IG51bGw7CisgICAgdHJ5IHsKKyAg
ICAgICAgZGIxRmFpbCA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEpOworICAg
ICAgICBsb2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkOyBh
biBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gc2hvdWxkJ3ZlIGJlZW4gdGhyb3duLiIpOwor
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBjYXRjaChlcnIpIHsKKyAgICAgICAgaWYgKGRi
MUZhaWwpIHsKKyAgICAgICAgICAgIGxvZygiZGIxRmFpbCBzaG91bGQgaGF2ZSBiZWVuIG51bGwu
Iik7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAv
LyBPcGVuIGEgaGFuZGxlIHRvIGFub3RoZXIgZGF0YWJhc2UsIGZpcnN0IHdpdGhvdXQgYSBjcmVh
dGlvbiBjYWxsYmFjaywgdGhlbiB3aXRoIG9uZS4KKyAgICAvLyBNYWtlIHN1cmUgdGhlIGNyZWF0
aW9uIGNhbGxiYWNrIGlzIG5vdCBjYWxsZWQuCisgICAgdmFyIGNyZWF0aW9uQ2FsbGJhY2tDYWxs
ZWQyID0gZmFsc2U7CisgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3BlbkRhdGFiYXNlQ3Jl
YXRpb25DYWxsYmFjazIiLCAiMS4wIiwgIiIsIDEpOworICAgIGRiMiA9IG9wZW5EYXRhYmFzZSgi
T3BlbkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFjazIiLCAiMS4wIiwgIiIsIDEsCisgICAgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKGRiKSB7IGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyID0gdHJ1
ZTsgfSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmIChj
cmVhdGlvbkNhbGxiYWNrQ2FsbGVkMikgeworICAgICAgICAgICAgbG9nKCJDcmVhdGlvbiBjYWxs
YmFjayBmb3IgZGIyIHNob3VsZCBub3QgaGF2ZSBiZWVuIGNhbGxlZC4iKTsKKyAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4g
PT0gMikKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KK1RoaXMgdGVzdCB0ZXN0cyBv
cGVuRGF0YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgorPHByZSBpZD0iY29uc29sZSI+Cis8
L3ByZT4KKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzJlMmZmYzMwZDRhNDY1YmRkZWJjOTliZjAzNjc5NTk5ZWY5OGZm
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0
YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUaGlzIHRl
c3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmlu
ZyBkb2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgorU1VDQ0VTUyEgRGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ2MDQxMTM4M2YxOGNmODBjOWM0YWQ4MzhmNzE1NDliNjljNjY3NmMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNp
b24uaHRtbApAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAKKyAgICB0cnkg
eyAgICAKKyAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCc1NTYyNDcwVGVzdCcsICcnLCAn
VGVzdCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzU1NjI0NzA+IG9wZW5EYXRhYmFzZSBkb2VzIG5vdCB3
b3JrIHdoZW4gdGhlIHZlcnNpb24gc3RyaW5nIGlzIGVtcHR5JywgMSk7CisgICAgfSBjYXRjaCAo
ZSkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1M
ID0gJ0ZBSUxVUkUnCisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKSI+Cis8ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3
aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIGRvZXMgbm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0
byBiZSB0aHJvd24uCis8ZGl2IGlkPSJyZXN1bHQiPgorU1VDQ0VTUyEgRGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24uCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFh
ZThkYjZiMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9v
cGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorVGhp
cyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRv
ZXNuJ3QgYXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmE5MjY0ZGUzM2RmMTE3NDQ5YjRjM2U1M2E2N2NmZWY5NjQ0MWJmZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1x
dW90YS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICB9CisKKyAgICB0cnkg
eworICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4nLCAnJywgJ1Rl
c3QgZm9yIGJ1ZyAzNjQ3MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNyZWF0aW5nRGF0
YWJhc2UnLCAxMDAwMDAwMCk7CisgICAgfSBjYXRjaCAoZXJyKSB7CisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKKyAgICB9Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGhpcyB0
ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNu
J3QgYXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KKzxkaXYgaWQ9InJlc3VsdCI+CitGQUlMOiBXZSBz
aG91bGRuJ3QgaGF2ZSBiZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDFkOTk2MDM0NGNmNTA4NDJmN2ZlOTU4ZWU3YzZkZTI3NjRiMmRmOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJh
c2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09M
RSBNRVNTQUdFOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJ3Rl
c3QnIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50VmVyc2lvbiBvZiAnJworVGhpcyB0ZXN0cyB0
aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0
cyB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoYXQgZGF0YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmlu
ZyBhbmQgc3Vic2VxdWVudCBhdHRlbXB0cyB0byBvcGVuIHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlm
ZmVyZW50IGV4cGVjdGVkIHZlcnNpb24gdGhyb3cgYW4gZXhjZXB0aW9uLgorU1VDQ0VTUywgYW4g
ZXhjZXB0aW9uIHdhcyB0aHJvd24uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2Vw
dGlvbiAxMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRh
YmFzZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
b3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNjA3ZmQx
OWM5ZDc4NTFkMmEwZWZhNDNlMzUwNDBhYzk5ZWRmNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0
bWwKQEAgLTAsMCArMSwyNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBy
dW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIH0KKyAgICAKKyAgICB0cnkgeyAg
ICAKKyAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3QnLCAnJywgJ1Rlc3Qg
Zm9yIGJ1ZyAyODQxNzogb3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIg
dmVyc2lvbiB1cCBpbmNvcnJlY3RseScsIDApOworICAgICAgICAvLyBUaGUgbmV4dCBvcGVuRGF0
YWJhc2UgY2FsbCBzaG91bGQgZmFpbCBiZWNhdXNlIHRoZSBkYXRhYmFzZSB2ZXJzaW9uIHdhcyBz
ZXQgdG8gJycgYnkgdGhlIGNhbGwgYWJvdmUsIGFuZCBub3cgd2UgYXJlIGV4cGVjdGluZyBhIGRp
ZmZlcmVudCB2ZXJzaW9uLgorICAgICAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rl
c3QnLCAndGVzdCcsICdUZXN0IGZvciBidWcgMjg0MTc6IG9wZW5EYXRhYmFzZSgpIHdpdGggZW1w
dHkgdmVyc2lvbiBzZXRzIGRiIHZlcnNpb24gdXAgaW5jb3JyZWN0bHknLCAwKTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5l
ckhUTUwgPSAnU1VDQ0VTUywgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uICcgKyBlOworICAgIH0K
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5U
aGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9u
IHN0cmluZyBzZXRzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhhdCBkYXRhYmFzZSB0byB0aGUg
ZW1wdHkgc3RyaW5nIGFuZCBzdWJzZXF1ZW50IGF0dGVtcHRzIHRvIG9wZW4gdGhlIGRhdGFiYXNl
IHdpdGggYSBkaWZmZXJlbnQgZXhwZWN0ZWQgdmVyc2lvbiB0aHJvdyBhbiBleGNlcHRpb24uPC9k
aXY+Cis8ZGl2IGlkPSJyZXN1bHQiPgorRkFJTFVSRSAtIGFuIGV4Y2VwdGlvbiB3YXMgZXhwZWN0
ZWQuCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13
aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNh
YzhhZmNlYmUxMWQ2MTA3ZWU4ZDhlNzY4NDFiMzU2YWJlMDM2MwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rp
b24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBpcyBhIHRl
c3QgdG8gc2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzIHJ1
bm5pbmcgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJlc3VsdHMg
aW4gYSBkZWFkbG9jay4KK29wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlv
bi1pbi1wcm9ncmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRh
YmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwN2Ex
YTQ1YzljMjM0OTU0YmUyZTAwOTdlOTA3OWI2NTQ3NzFjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9u
LWluLXByb2dyZXNzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJvcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KK1RoaXMg
aXMgYSB0ZXN0IHRvIHNlZSBpZiBvcGVuaW5nIGEgZGF0YWJhc2Ugd2hpbGUgYSB0cmFuc2FjdGlv
biBpcyBydW5uaW5nIG9uIGEgZGlmZmVyZW50IGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZSBy
ZXN1bHRzIGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0
ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNl
LXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMWEwYzAxNGUy
MzY1OTBlNzY0NDBhN2E0N2EwNGQwMTY0Y2EzYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXBy
b2dyZXNzLmpzCkBAIC0wLDAgKzEsNDEgQEAKKy8vIE9wZW5zIHRoZSBkYXRhYmFzZSB1c2VkIGlu
IHRoaXMgdGVzdCBjYXNlCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1
cm4gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiT3BlbkRhdGFiYXNlV2hpbGVUcmFuc2FjdGlvbklu
UHJvZ3Jlc3NUZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVzdCB0byBtYWtlIHN1cmUgdGhh
dCBjYWxsaW5nIG9wZW5EYXRhYmFzZSgpIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMgaW4gcHJvZ3Jl
c3Mgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvZXMgbm90IHJl
c3VsdCBpbiBhIGRlYWRsb2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
MjEwMDAwMCk7IC8vIDJNQiArIGVwc2lsb24KK30KKworLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODIwNworLy8gSW4gb3JkZXIgdG8gdHJpZ2dlciB0aGlz
IGJ1ZywgdGhlIHRyYW5zYWN0aW9uIG11c3QgYWNxdWlyZSBhbiBleGNsdXNpdmUKKy8vIGxvY2sg
b24gdGhlIERCIGZpbGUgYmVmb3JlIHRyeWluZyB0byBvYnRhaW4gYSBzZWNvbmQgaGFuZGxlIHRv
IHRoZSBzYW1lIERCLgorLy8gVGhlIG9ubHkgd2F5IHRvIGZvcmNlIFNRTGl0ZSB0byBvYnRhaW4g
YW4gZXhjbHVzaXZlIGxvY2sgaXMgdG8gY2hhbmdlIG1vcmUKKy8vIHRoYW4gY2FjaGVfc2l6ZSAq
IHBhZ2Vfc2l6ZSBieXRlcyBpbiB0aGUgZGF0YWJhc2UuIFRoZSBkZWZhdWx0IHZhbHVlIGZvcgor
Ly8gY2FjaGVfc2l6ZSBpcyAyMDAwIHBhZ2VzLCBhbmQgdGhlIGRlZmF1bHQgcGFnZV9zaXplIGlz
IDEwMjQgYnl0ZXMuIFNvIHRoZQorLy8gc2l6ZSBvZiB0aGUgYmxvYiBtdXN0IGJlIGF0IGxlYXN0
IDJNQi4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYjEgPSBvcGVuVGVzdERhdGFi
YXNlKCk7CisgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIC8vIENy
ZWF0ZSB0aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5vdCBleGlzdAorICAgICAgICB0eC5leGVj
dXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gQkxPQik7Iik7Cisg
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTIChaRVJPQkxPQigy
MDk3MTUyKSk7IiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygib3BlbkRhdGFiYXNlKCkgc3VjY2VlZGVk
LiIpOworICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygiRXhlY3V0
aW5nIHN0YXRlbWVudCBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAg
ICAgICAgICB9KTsKKworICAgICAgICAvLyBDbGVhbiB1cCB0aGUgREIgdG8gYWxsb3cgZm9yIHJl
cGVhdGVkIHJ1bnMgb2YgdGhpcyB0ZXN0CisgICAgICAgIC8vIHdpdGhvdXQgbmVlZGluZyB0byBp
bmNyZWFzZSB0aGUgZGVmYXVsdCBhbGxvd2VkIHF1b3RhICg1TUIpCisgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIkRFTEVURSBGUk9NIFRlc3Q7Iik7CisgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAg
ICAgICAgbG9nKCJUcmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICB9
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsK
K30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Np
bmctbm9yZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjFmNjdkMmZhYzRmMjZlNmYyZDcyODAwNjg4MGQyZjVmZjUzMjkwOQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFk
LW5vd3JpdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBkdXJpbmcgcHJpdmF0ZSBi
cm93c2luZyBmYWlsLgorU2V0dXAgc3RhdGVtZW50IDEgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQor
U2V0dXAgc3RhdGVtZW50IDIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorUHJpdmF0ZSBicm93c2lu
ZyBzdGF0ZW1lbnQgMSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUg
c3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQorUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQg
MiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgy
MyBub3QgYXV0aG9yaXplZCkKK1ByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50IDMgY29tcGxldGVk
IHdpdGggYW4gZXJyb3IKK2NvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhv
cml6ZWQpCitQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA0IGNvbXBsZXRlZCB3aXRoIGFuIGVy
cm9yCitjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorUHJp
dmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgNSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBhY2Nlc3MgdG8gUHJpdmF0ZVRlc3QxLnJhbmRvbURh
dGEgaXMgcHJvaGliaXRlZCkKK1Rlc3QgZW5kZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmI5YjU4ODJiNGRlMWM1NjIwNjRjNWU4NDc3MDEwNjk3OWEwMWZjMTUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJy
b3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQorewor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3Nh
Z2UgKyAiXG4iOworfQorCit2YXIgc2V0dXBTdGF0ZW1lbnRzID0gWworICAgICJDUkVBVEUgVEFC
TEUgSUYgTk9UIEVYSVNUUyBQcml2YXRlVGVzdDEgKHJhbmRvbURhdGEpIiwKKyAgICAiSU5TRVJU
IElOVE8gUHJpdmF0ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiCitdOworCit2YXIgcHJpdmF0
ZUJyb3dzaW5nU3RhdGVtZW50cyA9IFsKKyAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg
UHJpdmF0ZVRlc3QyIChyYW5kb21EYXRhKSIsCisgICAgIkRFTEVURSBGUk9NIFByaXZhdGVUZXN0
MSIsCisgICAgIkRST1AgVEFCTEUgUHJpdmF0ZVRlc3QxIiwKKyAgICAiSU5TRVJUIElOVE8gUHJp
dmF0ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiLAorICAgICJTRUxFQ1QgKiBGUk9NIFByaXZh
dGVUZXN0MSIKK107CisKK3ZhciBjb21wbGV0ZWQgPSAwOwordmFyIHRoZVRyYW5zYWN0aW9uOwor
CitmdW5jdGlvbiBzZXR1cFN1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQoreworICAgICsrY29t
cGxldGVkOworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBs
ZXRlZCArICIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSIpOworICAgIGNoZWNrU2V0dXBDb21wbGV0
ZSgpOworfQorCitmdW5jdGlvbiBzZXR1cEVycm9yRnVuY3Rpb24odHgsIGVycm9yKQoreworICAg
ICsrY29tcGxldGVkOworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiAr
IGNvbXBsZXRlZCArICIgY29tcGxldGVkIHdpdGggYW4gZXJyb3JcbiIgKyBlcnJvci5tZXNzYWdl
KTsKKyAgICBjaGVja1NldHVwQ29tcGxldGUoKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dz
aW5nU3VjY2Vzc0Z1bmN0aW9uKHR4LCByZXN1bHQpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAg
d3JpdGVNZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0
ZWQgKyAiIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJy
b3dzaW5nRXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAg
d3JpdGVNZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0
ZWQgKyAiIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2FnZSk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBydW5TZXR1cCh0cmFuc2FjdGlvbikKK3sKKyAg
ICB0aGVUcmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uOworICAgIGZvciAoaSBpbiBzZXR1cFN0YXRl
bWVudHMpCisgICAgICAgIHRoZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoc2V0dXBTdGF0ZW1lbnRz
W2ldLCBbXSwgc2V0dXBTdWNjZXNzRnVuY3Rpb24sIHNldHVwRXJyb3JGdW5jdGlvbik7Cit9CisK
K2Z1bmN0aW9uIGNoZWNrU2V0dXBDb21wbGV0ZSgpCit7CisgICAgaWYgKGNvbXBsZXRlZCA9PSBz
ZXR1cFN0YXRlbWVudHMubGVuZ3RoKQorICAgICAgICBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygp
OworfQorCitmdW5jdGlvbiBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCit7CisgICAgY29tcGxl
dGVkID0gMDsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgCisgICAgZm9yIChpIGluIHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHMpCisgICAgICAgIHRo
ZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwocHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50c1tpXSwgW10s
IHByaXZhdGVCcm93c2luZ1N1Y2Nlc3NGdW5jdGlvbiwgcHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5j
dGlvbik7Cit9CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHdyaXRlTWVzc2FnZVRvTG9n
KCJUZXN0IGVuZGVkIik7CisgICAgCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5j
dGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHZhciBkYXRh
YmFzZSA9IG9wZW5EYXRhYmFzZSgiUHJpdmF0ZUJyb3dzaW5nTm9SZWFkTm9Xcml0ZVRlc3QiLCAi
MS4wIiwgIlRlc3QgcHJpdmF0ZSBicm93c2luZyBubyByZWFkL3dyaXRlIHNhZmV0eSIsIDEpOwor
ICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKHJ1blNldHVwLCBlbmRUZXN0LCBlbmRUZXN0KTsKK30K
KworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0
ZXN0IG1ha2VzIHN1cmUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFiYXNlIGR1cmlu
ZyBwcml2YXRlIGJyb3dzaW5nIGZhaWwuPGJyPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9x
dW90YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9x
dW90YS10cmFja2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NjBmMGMwNGRkNzU2ZmM4
ZDQ3NGIzNzliZTNhNWZjN2Y3Y2U4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBA
CitVSSBERUxFR0FURSBEQVRBQkFTRSBDQUxMQkFDSzogZXhjZWVkZWREYXRhYmFzZVF1b3RhRm9y
U2VjdXJpdHlPcmlnaW46e2ZpbGUsICwgMH0gZGF0YWJhc2U6UXVvdGFNYW5hZ2VtZW50RGF0YWJh
c2UyCitUaGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5mb3Jj
ZWQgcGVyLW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHByaW9y
IHRvIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8yOTk4
My4KK1RoZSB0ZXN0IGNsZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3IgdGhl
IG9yaWdpbiB0byA0MGssIHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8gdHdv
IGRhdGFiYXNlcy4gSWYgdGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0IHNo
b3VsZCBmYWlsLCB0aGUgVUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBleGNl
ZWRlZCBxdW90YSBhbmQgc2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmlnaW4u
IEluc2VydGluZyAxN2sgb2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBhZ2Fp
bi4KK0FkZGluZyBhIHRhYmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBkYXRh
CitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEgZXhj
ZXB0aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9y
IHRoZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBh
bGxvdyBtb3JlIHNwYWNlCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0
aW5nIHNvbWUgZGF0YQorRG9uZSBhZGRpbmcgZGF0YQorVGVzdCBDb21wbGV0ZQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ZTUyNTIzYjE2M2YwNTQ1NTg4YTg4ZWIxMzEwYmRmZDhjNjYyM2ExCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApAQCAtMCww
ICsxLDExMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cit2YXIgZGF0YWJhc2UxID0gbnVs
bDsKK3ZhciBkYXRhYmFzZTIgPSBudWxsOwordmFyIGRhdGFiYXNlMyA9IG51bGw7CisKK2Z1bmN0
aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRl
c3QoKQoreworICAgIGxvZygiVGVzdCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7Cisg
ICAgbG9nKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBm
aW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwg
ZXJyb3IpCit7CisgICAgLy8gV2Ugb25seSBleHBlY3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgZGF0
YWJhc2UyCisgICAgaWYgKGRiID09IGRhdGFiYXNlMikgeworICAgICAgICBsb2coIkV4cGVjdGVk
IHF1b3RhIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgY2hlY2tDb21w
bGV0aW9uKGRiKTsKKyAgICB9IGVsc2UgeworICAgICAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0
aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQor
fQorCitmdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oZGIpCit7CisgICAgbG9nKCJEb25lIGFkZGlu
ZyBkYXRhIik7CisKKyAgICBpZiAoZGF0YWJhc2UzKSB7CisgICAgICAgIGZpbmlzaFRlc3QoKTsK
KyAgICB9IGVsc2UgaWYgKGRhdGFiYXNlMikgeworICAgICAgICBkYXRhYmFzZTMgPSBvcGVuRGF0
YWJhc2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMyIsICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEg
bWFuYWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7CisgICAgICAgIHRlc3REYXRhYmFzZShk
YXRhYmFzZTMpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRhdGFiYXNlMiA9IG9wZW5EYXRhYmFz
ZSgiUXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyIiwgIjEuMCIsICJUZXN0IGZvciBxdW90YSBtYW5h
Z2VtZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKKyAgICAgICAgdGVzdERhdGFiYXNlKGRhdGFi
YXNlMik7CisgICAgfQorfQorCitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5z
YWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIp
OworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0
YSkgVkFMVUVTIChaRVJPQkxPQigxNzQwOCkpIiwgW10sCisgICAgICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsKKyAgICAg
ICAgaWYgKGRiID09IGRhdGFiYXNlMikgeworICAgICAgICAgICAgLy8gVHJ5IHRvIHJ1biB0aGlz
IHN0YXRlbWVudCBvbiAnZGF0YWJhc2UyJyBvbmx5LgorICAgICAgICAgICAgLy8gSXQgc2hvdWxk
IG5vdCBiZSBydW4sIGJlY2F1c2UgdGhlIHByZXZpb3VzIHN0YXRlbWVudCBzaG91bGQndmUKKyAg
ICAgICAgICAgIC8vIHJlc3VsdGVkIGluIGEgZmFpbHVyZSB0aGF0IG1hZGUgc3FsaXRlIHJvbGwg
YmFjayB0aGUgZW50aXJlIHRyYW5zYWN0aW9uLgorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
SU5TRVJUIElOVE8gRGF0YVRlc3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoWkVST0JMT0IoMTApKSIs
IFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBu
b3QgaGF2ZSBiZWVuIHJ1bi4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlz
aFRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JGdW5j
dGlvbik7CisgICAgICAgIH0KKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICB0cmFu
c2FjdGlvbkVycm9yRnVuY3Rpb24oZGIsIGVycm9yKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdERh
dGFiYXNlKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAg
IGxvZygiQWRkaW5nIGEgdGFibGUiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRB
QkxFIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLAorICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHR4LCByZXN1bHQpIHsgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7CisgICAgfSwg
ZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgdHJhbnNhY3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBl
cnJvcik7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGFkZERhdGEoZGIpOworICAgIH0p
OworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJh
c2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNr
cygpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDQwOTYw
KTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZGF0YWJh
c2UxID0gb3BlbkRhdGFiYXNlKCJRdW90YU1hbmFnZW1lbnREYXRhYmFzZTEiLCAiMS4wIiwgIlRl
c3QgZm9yIHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81NjI4NDY4PiIsIDEpOworICAgIHRlc3RE
YXRhYmFzZShkYXRhYmFzZTEpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90
YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRo
ZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9j
aGFuZ2VzZXQvMjk5ODMuPGJyPgorVGhlIHRlc3QgY2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMg
dGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdr
IG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhl
IHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5m
b3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3Rh
IGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNo
b3VsZCBzdWNjZWVkIGFnYWluLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3ByZT4KKzwvYm9keT4K
KworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1h
bmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250
LXJ1bi10b2dldGhlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4OTc5YzNjYjUwN2Q5MjAw
MDU3N2Y4ZmZjYzc3MDQ3ZjIxNTdkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhl
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVh
ZCBhbmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1l
IGRhdGFiYXNlIGRvbid0IHJ1biB0b2dldGhlci4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitU
cmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0
aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3Vj
Y2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVs
LgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTFkYTM1Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBmOGZjOTg1NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRy
YW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVu
LXRvZ2V0aGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRS
dW5UZXN0KCk7Ij4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0
aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBkb24ndCBydW4g
dG9nZXRoZXIuPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBy
dW4uCis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhl
ci5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0
aW9ucy1kb250LXJ1bi10b2dldGhlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjgxN2JhZDMzMDczNzFkN2Fk
MTk5YjQwYmYxMTliNWIwNTYzN2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVy
LmpzCkBAIC0wLDAgKzEsODEgQEAKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQoreworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7Cisg
ICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9u
c0RvbnRSdW5Ub2dldGhlclRlc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICIxLjAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ug
c3VyZSB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFu
ZGxlcyB0byB0aGUgc2FtZSBEQiBkb24ndCBydW4gYXQgdGhlIHNhbWUgdGltZS4iLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKK30KKwordmFyIHJlYWRUcmFuc2Fj
dGlvbnNJblByb2dyZXNzID0gMDsKK3ZhciB3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAw
OwordmFyIHRvdGFsVHJhbnNhY3Rpb25zID0gMDsKK3ZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9
IDA7CisKK2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uKGRiLCByZWFkT25seSkKK3sKKyAgICB2YXIg
dHJhbnNhY3Rpb25GdW5jdGlvbiA9IChyZWFkT25seSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRi
LnRyYW5zYWN0aW9uKTsKKyAgICB0cmFuc2FjdGlvbkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9u
KHR4KSB7CisgICAgICAgICAgICBpZiAocmVhZE9ubHkpIHsKKyAgICAgICAgICAgICAgICBpZiAo
d3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAg
bG9nKCJSZWFkIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGlu
IHByb2dyZXNzLiIpOworICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNz
Kys7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICgocmVhZFRyYW5z
YWN0aW9uc0luUHJvZ3Jlc3MgIT0gMCkgfHwgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAh
PSAwKSkgeworICAgICAgICAgICAgICAgICAgICBsb2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0
aW5nIHdoaWxlIGFub3RoZXIgdHJhbnNhY3Rpb24gaW4gcHJvZ3Jlc3MuIik7CisgICAgICAgICAg
ICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgd3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBGUk9NIFRlc3Q7Iik7CisgICAgICAgIH0s
IGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDog
IldyaXRlIikgKyAiIHRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAg
ICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucysrOworICAgICAgICAgICAgIGlmIChyZWFkT25s
eSkKKyAgICAgICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKKyAgICAg
ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVz
cy0tOworICAgICAgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4iKTsKKyAgICAg
ICAgICAgICBpZiAoKGZpbmlzaGVkVHJhbnNhY3Rpb25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAm
JiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25z
SW5Qcm9ncmVzcyA9PSAwKSkKKyAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAg
ICAgICB9KTsKK30KKworZnVuY3Rpb24gcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwg
ZGIyLCBkYjMpCit7CisgICAgdG90YWxUcmFuc2FjdGlvbnMgPSAxMDsKKyAgICBmaW5pc2hlZFRy
YW5zYWN0aW9ucyA9IDA7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKKyAgICBydW5U
cmFuc2FjdGlvbihkYjIsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwor
ICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0
cnVlKTsKKyAgICBydW5UcmFuc2FjdGlvbihkYjMsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9u
KGRiMSwgZmFsc2UpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgZmFsc2UpOworICAgIHJ1blRy
YW5zYWN0aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKK30K
KworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgp
OworICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7CisgICAgdmFyIGRiMyA9IG9wZW5U
ZXN0RGF0YWJhc2UoKTsKKyAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAg
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZv
byBpbnQpOyIpOworICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9n
KCJDYW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAg
ICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpOworICAgICAg
ICB9KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJh
bnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNThkMmRmZTZhYmIxYTMxNDU3ZWI1MTc5ZWRmNGNmMDAw
ODFmNjg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVh
ZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMyBAQAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdHdvIHJlYWQtb25seSB0cmFuc2FjdGlvbnMg
b24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcnVuIGNvbmN1cnJlbnRs
eS4KK1JlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNv
bmN1cnJlbnRseS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2Fj
dGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmQ4NjJjMWU2Y2U4
MjRmNDA4ODU4NTg0Yjk1ODcxOWI5NWNjMGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHku
aHRtbApAQCAtMCwwICsxLDY3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rp
b24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gbWVzc2Fn
ZSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICBy
ZXR1cm4gb3BlbkRhdGFiYXNlKCJSZWFkVHJhbnNhY3Rpb25zUnVubmluZ0NvbmN1cnJlbnRseVRl
c3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBtdWx0aXBsZSByZWFkIHRyYW5zYWN0aW9ucyBv
biBkaWZmZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2FtZSBEQiBydW4gY29uY3VycmVudGx5LiIs
CisgICAgICAgICAgICAgICAgICAgICAgICAzMjc2OCk7Cit9CisKK3ZhciByZWFkVHJhbnNhY3Rp
b25zSW5Qcm9ncmVzcyA9IDA7CisKK2Z1bmN0aW9uIHJ1blJlYWRUcmFuc2FjdGlvbihkYikKK3sK
KyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHJlYWRU
cmFuc2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Cisg
ICAgICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb24gZmFpbGVkOiAiICsgZXJyb3IubWVzc2Fn
ZSk7CisgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgaWYgKHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID09IDIpCisgICAg
ICAgICAgICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRseS4i
KTsKKyAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzLS07CisgICAgICAgICAg
ICBpZiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkKKyAgICAgICAgICAgICAgICB0
ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGRiMSA9IG9w
ZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsK
KyAgICAgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAg
dHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7
Iik7CisgICAgICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAgIGxv
ZygiQ2Fubm90IGNyZWF0ZSB0aGUgVGVzdCB0YWJsZTogIiArIGVycm9yLm1lc3NhZ2UpOworICAg
ICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgICAgIHJ1blJlYWRUcmFuc2FjdGlvbihkYjEpOworICAgICAgICAgICAg
ICAgIHJ1blJlYWRUcmFuc2FjdGlvbihkYjIpOworICAgICAgICAgICAgfSk7CisgICAgIH0gY2F0
Y2goZXJyKSB7IGxvZyhlcnIpOyB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0d28gcmVhZC1vbmx5IHRyYW5z
YWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBydW4gY29u
Y3VycmVudGx5Ljxicj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQxZWI0MTAyZTUxOGNkOTk2NWUzY2EwZTQwMTJiMmE1MWQ1MWZlNzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9u
LmpzCkBAIC0wLDAgKzEsMjkgQEAKK3ZhciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKKworZnVu
Y3Rpb24gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwg
c2l6ZSwgY2FsbGJhY2spCit7CisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7CisgICAg
ICAgIHJldHVybiBvcGVuRGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBk
ZXNjcmlwdGlvbiwgc2l6ZSwgY2FsbGJhY2spOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVy
biBvcGVuRGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlv
biwgc2l6ZSk7CisgICAgfQorfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxu
IjsKK30KKworZnVuY3Rpb24gc2V0TG9jYXRpb25IYXNoKGhhc2gpIHsKKyAgICBsb2NhdGlvbi5o
YXNoID0gaGFzaDsKK30KKworZnVuY3Rpb24gc2V0dXBBbmRSdW5UZXN0KCkKK3sKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworICAgIH0KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlu
bmVyVGV4dCA9ICIiOworICAgIHJ1blRlc3QoKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1h
ZnRlci1yZWxvYWQtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlMGYwOWNlYTcxYTViM2Q1NjBiNmQyODcz
NDdlMWQwM2Y4YmE4MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sCkBAIC0wLDAg
KzEsNTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1lc3NhZ2Up
Cit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0g
bWVzc2FnZSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9n
KCJUZXN0IHBhcnQgMiBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwor
ZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0g
IiArIGVycm9yLm1lc3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gYWRk
RGF0YShkYikKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICBs
b2coIkluc2VydGluZyBzb21lIGRhdGEiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJU
IElOVE8gRGF0YVRlc3QgKHRlc3REYXRhKSBWQUxVRVMgKD8pIiwgWyJBIl0sCisgICAgICAgICAg
ICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1
bmN0aW9uKGVycm9yKTsgfSk7CisgICAgfSwgZnVuY3Rpb24oKSB7IH0sIGZ1bmN0aW9uKCkgeyBm
aW5pc2hUZXN0KCk7IH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgIH0KKworICAgIHRyeSB7CisgICAgICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRh
YmFzZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9ja2lu
ZyIsIDUyNDI4ODApOworICAgICAgICBhZGREYXRhKGRhdGFiYXNlKTsKKyAgICB9IGNhdGNoKGUp
IHsKKyAgICAgICAgbG9nKCJFcnJvciAtIGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7CisgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5
PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNv
dXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNv
dXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk5YWYzYzc5NjFmNDI3YTg3YTZl
ZjdmYWFmMGQxNGIyODliYzcyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApAQCAtMCwwICsxLDUxIEBACis8
IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgordmFyIGRiOworCit0cnkg
eworICAgIGlmICh3aW5kb3cub3BlbkRhdGFiYXNlKSB7CisgICAgICAgIGRiID0gb3BlbkRhdGFi
YXNlKCJTdHJlc3NUZXN0MiIsICIxLjAiLCAiRGF0YWJhc2Ugc3RyZXNzIHRlc3QiLCAyMDAwMDAp
OworICAgICAgICBpZiAoIWRiKQorICAgICAgICAgICAgYWxlcnQoIkZhaWxlZCB0byBvcGVuIHRo
ZSBkYXRhYmFzZSBvbiBkaXNrLiAgVGhpcyBpcyBwcm9iYWJseSBiZWNhdXNlIHRoZSB2ZXJzaW9u
IHdhcyBiYWQgb3IgdGhlcmUgaXMgbm90IGVub3VnaCBzcGFjZSBsZWZ0IGluIHRoaXMgZG9tYWlu
J3MgcXVvdGEiKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYWxlcnQoIkNvdWxkbid0IG9wZW4gdGhl
IGRhdGFiYXNlLiAgUGxlYXNlIHRyeSB3aXRoIGEgV2ViS2l0IG5pZ2h0bHkgd2l0aCB0aGlzIGZl
YXR1cmUgZW5hYmxlZCIpOworfSBjYXRjaChlcnIpIHsgfQorCitmdW5jdGlvbiBsb2FkZWQoKQor
eworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFdlYmtpdFN0aWNreU5vdGVzIiwgW10sIGZ1bmN0aW9u
KHJlc3VsdCkgeworICAgICAgICAgICAgbG9hZE5vdGVzKCk7CisgICAgICAgIH0sIGZ1bmN0aW9u
KHR4LCBlcnJvcikgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIFdl
YktpdFN0aWNreU5vdGVzIChpZCBSRUFMIFVOSVFVRSwgbm90ZSBURVhUKSIsIFtdLCBmdW5jdGlv
bihyZXN1bHQpIHsgCisgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8g
V2ViS2l0U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzEsICdUZXh0J10s
IGZ1bmN0aW9uKHJlc3VsdCkgeyAKKyAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
SU5TRVJUIElOVE8gV2ViS2l0U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwg
WzIsICdNb3JlIFRleHQnXSwgZnVuY3Rpb24ocmVzdWx0KSB7IAorICAgICAgICAgICAgICAgICAg
ICAgICAgbG9hZE5vdGVzKCk7IAorICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVu
Y3Rpb24gbG9hZE5vdGVzKCkKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewor
ICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgaWQsIG5vdGUgRlJPTSBXZWJLaXRTdGlja3lO
b3RlcyIsIFtdLCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBsb2FkTm90ZXMo
KTsKKyAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICBhbGVydCgn
RmFpbGVkIHRvIHJldHJpZXZlIG5vdGVzIGZyb20gZGF0YWJhc2UgLSAnICsgZXJyb3IubWVzc2Fn
ZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0pOworICAgIH0pOworfQorCithZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgbG9hZGVkLCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VGhpcyB0ZXN0IG5lZWRzIHRvIHJ1biB3aXRob3V0IGNyYXNoZXMgYW5kIGFz
c2VydGlvbiBmYWlsdXJlcyBmb3IgYSB3aGlsZS48cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNjBjYWY1MjNiODcyOGUwYzU2NGQ2ZGE1OWFkYzZkMjg2ZmU1MmI1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEt
dHlwZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorUEFTUzogcHJvcGVydHkgJ3RpbWVz
dGFtcCcgb2ssIHR5cGUgd2FzIG51bWJlcgorUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3
YXMgbnVtYmVyCitQQVNTOiBwcm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgorUEFT
UzogcHJvcGVydHkgJ3RleHQnIG9rLCB0eXBlIHdhcyBzdHJpbmcKK1BBU1M6IHByb3BlcnR5ICdi
bG9iJyBvaywgdHlwZSB3YXMgc3RyaW5nCitQQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2QxYzk4Zjg0NGMwNzNiMzllYjNhNmQ1NDVmYTQwMDMzNDRkYTFiNAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwK
QEAgLTAsMCArMSwxMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9InNxbC1kYXRhLXR5cGVzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+
CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1k
YXRhLXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzZmY2QwMTNiNjY3ZmJiNTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5
cGVzLmpzCkBAIC0wLDAgKzEsODcgQEAKKy8vZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IHRoZSBqYXZhc2NyaXB0IHZhbHVlcyByZXR1cm5lZCBieSBkYXRhYmFzZSBxdWVyaWVz
IGFyZSBvZiBzYW1lIHR5cGUgYXMgdGhlIHZhbHVlcyBwdXQgaW50byB0aGUgZGF0YWJhc2UuIik7
CisKK2Z1bmN0aW9uIHdyaXRlTWVzc2FnZVRvTG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9
CisKK2Z1bmN0aW9uIG5vdGlmeURvbmUoc3RyKSB7CisgICAgd3JpdGVNZXNzYWdlVG9Mb2coc3Ry
KTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0ZXN0VmFsdWVzID0geworICAg
IHRpbWVzdGFtcDogbmV3IERhdGUoIldlZCBGZWIgMDYgMjAwOCAxMjoxNjo1MiBHTVQrMDIwMCAo
RUVUKSIpLnZhbHVlT2YoKSwKKyAgICBpZDogMTAwMSwKKyAgICByZWFsOiAxMDEuNDQ0LAorICAg
IHRleHQ6ICJXZWJLaXQgZGIgVEVYVCIsCisgICAgYmxvYjogInN1cGVyY2FsaWZyYWdpbGlzdGlj
IgorfTsKKworZnVuY3Rpb24gc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKHByb3BOYW1lLCB0ZXN0
VmFsdWUsIHJlc3VsdCkgeworICAgIGlmICh0ZXN0VmFsdWUgPT0gcmVzdWx0ICYmIHR5cGVvZiB0
ZXN0VmFsdWUgPT0gdHlwZW9mIHJlc3VsdCkgeworICAgICAgICB3cml0ZU1lc3NhZ2VUb0xvZygi
UEFTUzogcHJvcGVydHkgJyIgKyBwcm9wTmFtZSArICInIG9rLCB0eXBlIHdhcyAiICsgdHlwZW9m
IHJlc3VsdCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICB3cml0ZU1lc3NhZ2VU
b0xvZygiRkFJTDogcHJvcGVydHkgJyIgKyBwcm9wTmFtZSArICInIGZhaWxlZC4iCisgICAgICAg
ICsgIiBleHBlY3RlZDogIiArIHR5cGVvZiB0ZXN0VmFsdWUgKyAiOiciICsgdGVzdFZhbHVlICsg
IicgIgorICAgICAgICArICIgZ290OiAiICsgdHlwZW9mIHJlc3VsdCArICI6JyIgKyByZXN1bHQg
KyInIik7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiB0ZXN0REJWYWx1ZXModHgs
IHJlc3VsdCkgeworICAgIHZhciBycyA9IHJlc3VsdC5yb3dzLml0ZW0oMCk7CisgICAgLy8gQXZv
aWQgZm9yIC4uIGluIGJlY2F1c2UgKHRoZXJldGljYWxseSkgdGhlIG9yZGVyIGNhbiBjaGFuZ2UK
KyAgICBpID0gInRpbWVzdGFtcCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFs
dWVzW2ldLCByc1tpXSk7CisgICAgaSA9ICJpZCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShp
LCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7CisgICAgaSA9ICJyZWFsIjsgc2hvdWxkQmVTYW1lVHlw
ZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKKyAgICBpID0gInRleHQiOyBzaG91
bGRCZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOworICAgIGkgPSAi
YmxvYiI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7
CisgICAgCisgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJMRSBEYXRhVHlwZVRlc3RUYWJsZSIs
IFtdLAorICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBub3RpZnlE
b25lKCJQQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4iKTsKKyAgICAgICAgfSwKKyAgICAgICAg
ZnVuY3Rpb24odHgsIHJlc3VsdCkgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRGF0
YWJhc2UgY2xlYW4gdXAgZmFpbGVkLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gZmV0
Y2hEQlZhbHVlc1N0bXQodHgsIHJlc3VsdCkgeworICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAq
IEZST00gRGF0YVR5cGVUZXN0VGFibGUiLCBbXSwKKyAgICAgICAgdGVzdERCVmFsdWVzLAorICAg
ICAgICBmdW5jdGlvbih0eCxlcnJvcikgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDog
RXJyb3IgZmV0Y2hpbmcgdmFsdWVzIGZyb20gdGhlIGRiLiIpCisgICAgICAgIH0pOworfQorCitm
dW5jdGlvbiBpbnNlcnRUZXN0VmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7CisgICAgdHguZXhlY3V0
ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVR5cGVUZXN0VGFibGUgKGlkLCByZWFsLCB0aW1lc3RhbXAs
IHRleHQsIGJsb2IpIFZBTFVFUyAoPyw/LD8sPyw/KSIsCisgICAgICAgIFt0ZXN0VmFsdWVzLmlk
LCB0ZXN0VmFsdWVzLnJlYWwsIHRlc3RWYWx1ZXMudGltZXN0YW1wLCB0ZXN0VmFsdWVzLnRleHQs
IHRlc3RWYWx1ZXMuYmxvYl0sCisgICAgICAgIGZldGNoREJWYWx1ZXNTdG10LAorICAgICAgICBm
dW5jdGlvbih0eCwgZXJyb3IpIHsKKyAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9y
IGluc2VydGluZyB2YWx1ZXMgdG8gdGhlIGRiLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rp
b24gY3JlYXRlVGVzdERCU3RtdCh0eCkKK3sKKyAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFC
TEUgSUYgTk9UIEVYSVNUUyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQgSU5URUdFUiBVTklRVUUsIHJl
YWwgUkVBTCwgdGltZXN0YW1wIElOVEVHRVIsIHRleHQgVEVYVCwgYmxvYiBCTE9CKSIsIFtdLAor
ICAgICAgICBpbnNlcnRUZXN0VmFsdWVzU3RtdCwKKyAgICAgICAgZnVuY3Rpb24odHgsIGVycm9y
KSB7CisgICAgICAgICAgICBub3RpZnlEb25lKCJGQUlMOiBFcnJvciBjcmVhdGluZyB0aGUgZGIu
Iik7CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgfQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YVR5cGVUZXN0IiwgIjEu
MCIsICJEYXRhYmFzZSBmb3Igc3FsIGRhdGEgdHlwZSB0ZXN0IiwgMSk7CisgICAgaWYgKGRiKQor
ICAgICAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVUZXN0REJTdG10KTsKKyAgICBlbHNlCisgICAg
ICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIG9wZW5pbmcgdGhlIGRiIik7Cit9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMTk3NzZhNWZmNzFjYWI1NzI2MWE3YWE0NGYzMGE5ODE1N2I0YzJm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9y
LWNvZGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IEV4
Y2VwdGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCitDT05TT0xFIE1FU1NBR0U6
IENhbm5vdCBjYWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCitUaGlzIHRlc3QgdGVzdHMg
dGhlIGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCitQQVNT
OiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVk
IGFuZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBl
cnJvciBjb2RlIFNZTlRBWF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBT
WU5UQVhfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIK
K1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKK1BBU1M6IGV4cGVj
dGVkIGFuZCBnb3QgZXJyb3IgY29kZSBWRVJTSU9OX0VSUgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNzBjNmNhZmU4
ODljN2U4YmE0ZWYwOGY1OTM4N2UwZDNlMTViMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbApAQCAtMCwwICsxLDEyIEBA
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24u
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNxbC1lcnJvci1jb2Rlcy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3Qg
dGVzdHMgdGhlIGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMu
PGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3By
ZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3NxbC1lcnJvci1jb2Rlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1l
cnJvci1jb2Rlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEy
NmEzYTU4NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3FsLWVycm9yLWNvZGVzLmpzCkBAIC0wLDAgKzEsMTE0IEBACitmdW5jdGlvbiBmaW5pc2hUZXN0
KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciBUT1RBTF9URVNUUyA9IDc7
Cit2YXIgdGVzdHNSdW4gPSAwOworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKGVy
cm9yLCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgaWYgKGVycm9yLmNvZGUgPT0gZXJy
b3JbZXhwZWN0ZWRFcnJvckNvZGVOYW1lXSkgeworICAgICAgICBsb2coIlBBU1M6IGV4cGVjdGVk
IGFuZCBnb3QgZXJyb3IgY29kZSAiICsgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKKyAgICAgICAg
aWYgKCsrdGVzdHNSdW4gPT0gVE9UQUxfVEVTVFMpCisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgbG9nKCJGQUlMOiBleHBlY3RlZCBlcnJvciBjb2RlICIg
KyBleHBlY3RlZEVycm9yQ29kZU5hbWUgKyAiICgiICsgZXJyb3JbZXhwZWN0ZWRFcnJvckNvZGVO
YW1lXSArICIpOyBnb3QgIiArIGVycm9yLmNvZGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7Cisg
ICAgfQorfQorCitmdW5jdGlvbiB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjaygpCit7CisgICAg
bG9nKCJGQUlMOiBhIHRyYW5zYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIpOwor
ICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uKGRiLCB0cmFu
c2FjdGlvbkNhbGxiYWNrLCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgZGIudHJhbnNh
Y3Rpb24odHJhbnNhY3Rpb25DYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihl
cnJvcikgeworICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2so
ZXJyb3IsIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgfSwgdHJh
bnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2spOworfQorCitmdW5jdGlvbiB0ZXN0VHJhbnNhY3Rpb25U
aHJvd3NFeGNlcHRpb24oZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0
eCkgeyB0aHJvdyAiRXhjZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4iOyB9
LCAiVU5LTk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJl
Y2F1c2VPZlN0YXRlbWVudEZhaWx1cmUoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAor
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgdHguZXhlY3V0ZVNxbCgiQkFEIFNUQVRFTUVOVCIsIFtdLCBudWxsLCBmdW5jdGlvbih0eCwg
ZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pOworICAgICAgICAgICAgICAgICAgICB9LCAiVU5LTk9X
Tl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdEludmFsaWRTdGF0ZW1lbnQoZGIpCit7CisgICAg
dGVzdFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkgeyB0eC5leGVjdXRlU3FsKCJCQUQgU1RB
VEVNRU5UIik7IH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RJbmNvcnJlY3RO
dW1iZXJPZkJpbmRQYXJhbWV0ZXJzKGRiKQoreworICAgIHRlc3RUcmFuc2FjdGlvbihkYiwKKyAg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmROdW1iZXJU
ZXN0IChGb28gSU5ULCBCYXIgSU5UKSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiSU5TRVJUIElOVE8gQmFkQmluZE51bWJlclRlc3QgVkFMVUVTICg/LCA/KSIsIFsx
XSk7CisgICAgICAgICAgICAgICAgICAgIH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9u
IHRlc3RCaW5kUGFyYW1ldGVyT2ZXcm9uZ1R5cGUoZGIpCit7CisgICAgdmFyIGJhZFN0cmluZyA9
IHsgfTsKKyAgICBiYWRTdHJpbmcudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgdGhyb3cgIkNhbm5v
dCBjYWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuIiB9OworCisgICAgdGVzdFRyYW5zYWN0
aW9uKGRiLCBmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFC
TEUgSUYgTk9UIEVYSVNUUyBCYWRCaW5kVHlwZVRlc3QgKEZvbyBURVhUKSIpOworICAgICAgICB0
eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kVHlwZVRlc3QgVkFMVUVTICg/KSIsIFti
YWRTdHJpbmddKTsKKyAgICB9LCAiVU5LTk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFF1
b3RhRXhjZWVkZWQoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUXVvdGFUZXN0IChGb28gQkxPQikiKTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFF1b3Rh
VGVzdCBWQUxVRVMgKFpFUk9CTE9CKDEwICogMTAyNCAqIDEwMjQpKSIpOworICAgICAgICAgICAg
ICAgICAgICB9LCAiUVVPVEFfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RWZXJzaW9uTWlzbWF0
Y2goZGIpCit7CisgICAgLy8gVXNlIGFub3RoZXIgREIgaGFuZGxlIHRvIGNoYW5nZSB0aGUgdmVy
c2lvbi4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIERCIHZlcnNpb24g
aXMgbm90CisgICAgLy8gY2hhbmdlZCBiZWZvcmUgdGhlIHRyYW5zYWN0aW9ucyBpbiB0aGUgb3Ro
ZXIgdGVzdHMgaGF2ZSBydW4sIHdlIG5lZWQgdG8gZG8gaXQgaW4gYSB0cmFuc2FjdGlvbiBvbiAn
ZGInLgorICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHZhciBkYjIg
PSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVzVGVzdCIsICIxLjAiLCAiVGVz
dHMgdGhlIGVycm9yIGNvZGVzLiIsIDEpOworICAgICAgICBkYjIuY2hhbmdlVmVyc2lvbigiMS4w
IiwgIjIuMCIsIGZ1bmN0aW9uKHR4KSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkZBSUw6
IGNvdWxkIG5vdCBjaGFuZ2UgdGhlIERCIHZlcnNpb24uIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZ1
bmN0aW9uKCkgeyB9KTsKKyAgICAgICAgfSk7CisKKyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCisg
ICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICB0eC5leGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBTSE9VTEQgTkVWRVIgR0VUIEVYRUNVVEVE
Iik7CisgICAgICAgICAgICAgICAgICAgIH0sICJWRVJTSU9OX0VSUiIpOworfQorCitmdW5jdGlv
biBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworCisgICAgdmFy
IGRiID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiU1FMRXJyb3JDb2Rlc1Rlc3QiLCAiMS4wIiwg
IlRlc3RzIHRoZSBlcnJvciBjb2Rlcy4iLCAxKTsKKyAgICB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NF
eGNlcHRpb24oZGIpOworICAgIHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1l
bnRGYWlsdXJlKGRiKTsKKyAgICB0ZXN0SW52YWxpZFN0YXRlbWVudChkYik7CisgICAgdGVzdElu
Y29ycmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpOworICAgIHRlc3RCaW5kUGFyYW1ldGVy
T2ZXcm9uZ1R5cGUoZGIpOworICAgIHRlc3RRdW90YUV4Y2VlZGVkKGRiKTsKKyAgICB0ZXN0VmVy
c2lvbk1pc21hdGNoKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM0MDNkOWYwYzk2Nzg3MTU5MGMxNTE0MDcwZTYwODA2N2U1MDEyMTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2Fs
bGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK0NPTlNPTEUgTUVTU0FHRTogRXhj
ZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjaworVGhpcyB0ZXN0IGNvbmZpcm1zIHRo
YXQgYSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBp
ZiBhIHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVy
bnMgdHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgorUEFTUyAtIHRoZSB0cmFuc2Fj
dGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
ZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sg
d2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBp
bnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgor
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorVGVz
dCBDb21wbGV0ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0
ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMzc2ODk2MzhiZDJiOGJlNWI4NmJiMzNlMDU2
ZmYwODU1N2FkNjg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FMRVJUOiBQQVNTOiBkb2N1bWVudC5i
b2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgorVGhp
cyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQg
aW4gdGhlIHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYw
NDUxMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0
ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsxLDUyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0
aGUgc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50RXJyb3JD
YWxsYmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKytzdGF0
ZW1lbnRFcnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30K
KworZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEodHgsIGVycm9yKQoreworICAgIGFs
ZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30K
KworZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazIodHgsIGVycm9yKQoreworICAgIGFs
ZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJvZHku
Zm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQu
IjsKK2RvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUg
aW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0
YWJhc2VzKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAgICAg
ImZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sxKHR4LCBlcnJvcilcbiIgKworICAgICAg
ICAie1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisg
ICAgICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAg
ICAgICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50
RXJyb3JDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAg
ICAiZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAgIiAgICB0eC5l
eGVjdXRlU3FsKCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgc3Rh
dGVtZW50RXJyb3JDYWxsYmFjazEpO1xuIiArCisgICAgICAgICJ9KTsiKTsKKworICAgIHZhciBk
YjIgPSBvcGVuRGF0YWJhc2UoJ1N0YXRlbWVudEVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMics
ICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEp
IHt9LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMik7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0
YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiODM2ZDE2MThiOTkz
MjQ1Njg1MWFjOWY4ZTA3YTc2Y2MxNWZhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEs
ODcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkK
K3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBt
ZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBsb2co
IlRlc3QgQ29tcGxldGUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0eENh
bGxiYWNrQ291bnQgPSAwOwordmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsKK3ZhciBk
YXRhYmFzZTsKKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWwsIHN0YXRl
bWVudEVycm9yQ2FsbGJhY2spCit7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg
VGVzdFRhYmxlIChSYW5kb21EYXRhIFRFWFQpIik7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklO
U0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOworICAgICAgICB0eC5l
eGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKKyAgICAgICAgICAgIGZ1
bmN0aW9uKHR4LCBkYXRhKSB7CisgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhpcyBzdGF0
ZW1lbnQgc2hvdWxkIGhhdmUgZmFpbGVkIik7CisgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgp
OworICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7CisgICAgICAgIHR4LmV4
ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0MSddLAor
ICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0
ZWRUb0ZhaWwpCisgICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50
IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7CisgICAgICAgICAgICB9LCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICAg
ICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4
ZWN1dGVkIik7CisgICAgICAgICAgICB9KTsKKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAg
ICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUgdHJh
bnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGxvZygiRkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBzaG91
bGQgbm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOworICAgICAgICBpZiAoKyt0eENhbGxiYWNrQ291
bnQgPT0gTlVNQkVSX09GX1RSQU5TQUNUSU9OUykKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsK
KyAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQorICAgICAg
ICAgICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgc2hvdWxk
IG5vdCBoYXZlIGJlZW4gaW52b2tlZC4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9n
KCJQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7
CisgICAgICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJT05T
KQorICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5U
ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNl
KCJTdGF0ZW1lbnRFcnJvckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVycm9yIGNh
bGxiYWNrIHRlc3QiLCAxMDI0KTsKKworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9u
KGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5j
dGlvbihlcnJvcikgeyB0aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFj
ayI7IHJldHVybiBmYWxzZTsgfSk7CisgICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24o
ZXJyb3IpIHsgcmV0dXJuICJzb21lIHN0cmluZyI7IH0pOworICAgIHJ1blRyYW5zYWN0aW9uKHRy
dWUsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiAxMjM0OyB9KTsKKyAgICBydW5UcmFuc2FjdGlv
bih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsgfSk7Cisg
ICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJmYWxzZSI7
IH0pOworICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30pOworICAg
IHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFsc2U7IH0p
OworICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gMDsg
fSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiBu
dWxsOyB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRl
bHkgcm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFj
ayB0aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFu
eSB2YWx1ZS4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNz
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yZWYwMjdkZmJkMWEwNDM0NjNmMjE3NjliNzM3MTlhODhlNWJm
NmQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVt
ZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNCBAQAorQUxFUlQ6IHVuZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFy
IHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3Qg
dGVzdHMgdGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRo
ZSByaWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZj
MTEzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRl
bWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw1MiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQg
dGhlIHN0YXRlbWVudCBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29y
bGQuCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50U3Vj
Y2Vzc0NhbGxiYWNrc0ludm9rZWQgPSAwOworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgaWYgKCgr
K3N0YXRlbWVudFN1Y2Nlc3NDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpCit7
CisgICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9u
ZSgpOworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2syKHR4LCBkYXRhKQor
eworICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3Vt
ZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0
ZWQgd29ybGQuIjsKK2RvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFy
IHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNs
ZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwK
KyAgICAgICAgImZ1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpXG4i
ICsKKyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9v
KTtcbiIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCkn
O1xuIiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2Uo
J1N0YXRlbWVudFN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtc
biIgKworICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAg
ICAgIiAgICB0eC5leGVjdXRlU3FsKCdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChG
b28gSU5UKScsIFtdLCBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKTtcbiIgKworICAgICAgICAi
fSk7Iik7CisKKyAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRTdWNjZXNzQ2Fs
bGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBUQUJMRSBJRiBO
T1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazIp
OworICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2stZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc2MTkwMjQ0MTc4YzNlYTJkZDkzYTU2MjMwMmE4MDZlYTg0ODk4NGYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0
IGEgc3VjY2Vzc2Z1bCB0cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0aG91dCBhIHN0YXRl
bWVudCAtIHJlY2VpdmVzIGl0cyBzdWNjZXNzQ2FsbGJhY2sKK1RyYW5zYWN0aW9uIHN1Y2NlZWRl
ZCAtIFRyYW5zYWN0aW9uIHdpdGggb25lIHN0YXRlbWVudAorVHJhbnNhY3Rpb24gc3VjY2VlZGVk
IC0gRW1wdHkgdHJhbnNhY3Rpb24KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyMzdhYmE4
MmUzMDk3MjQ4MWFhYmI3MDUwZDVhMjE0NmUyNWMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSw1
NCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQor
eworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGxvZygi
VGVzdCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24g
ZXJyb3JGdW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9y
Lm1lc3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKwordmFyIHN1Y2Nlc3NDb3VudCA9IDA7
CisKK2Z1bmN0aW9uIHN1Y2Nlc3NGdW5jdGlvbihtZXNzYWdlKQoreworICAgIGxvZygiVHJhbnNh
Y3Rpb24gc3VjY2VlZGVkIC0gIiArIG1lc3NhZ2UpOworICAgIGlmICgrK3N1Y2Nlc3NDb3VudCA9
PSAyKQorICAgICAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgfQorICAgIAorICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgi
U3VjY2Vzc0NhbGxiYWNrRGF0YWJhc2UiLCAiMS4wIiwgIlRlc3QgZm9yIHN1Y2Nlc3MgY2FsbGJh
Y2sgPHJkYXI6Ly81NzM3NjkyPiIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0
aW9uKHR4KSB7IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFN1Y2Nl
c3NDYWxsYmFja1Rlc3QgKHJhbmRvbURhdGEpIiwgW10pOyB9LCBlcnJvckZ1bmN0aW9uLCBmdW5j
dGlvbigpIHsgc3VjY2Vzc0Z1bmN0aW9uKCJUcmFuc2FjdGlvbiB3aXRoIG9uZSBzdGF0ZW1lbnQi
KTsgfSk7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgZXJyb3JG
dW5jdGlvbiwgZnVuY3Rpb24oKSB7IHN1Y2Nlc3NGdW5jdGlvbigiRW1wdHkgdHJhbnNhY3Rpb24i
KTsgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+CitUaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gLSBi
b3RoIHdpdGggYW5kIHdpdGhvdXQgYSBzdGF0ZW1lbnQgLSByZWNlaXZlcyBpdHMgc3VjY2Vzc0Nh
bGxiYWNrCis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0
MGY2M2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVz
dC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBACitUaGlzIHRlc3QgdGVz
dHMgdGhlIGRhdGFiYXNlIGF1dGhvcml6ZXIuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0YXRlbWVu
dCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX0lOREVYIHN0YXRlbWVudCBzdWNjZWVkZWQuCitT
UUxJVEVfQ1JFQVRFX1RFTVBfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVB
VEVfVEVNUF9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RFTVBf
VklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVu
dCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NR
TElURV9DUkVBVEVfVlRBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVBRCBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkLgorU1FMSVRFX1NFTEVDVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RFTEVURSBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0lOU0VSVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgor
U1FMSVRFX1VQREFURSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX1BSQUdNQSBzdGF0ZW1l
bnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVk
KQorU1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQUxURVJf
VEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9UUkFOU0FDVElPTiBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQor
U1FMSVRFX0FUVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RFVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBj
b3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX1JF
SU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9BTkFMWVpFIHN0YXRlbWVudCBmYWls
ZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJ
VEVfRFJPUF9JTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UQUJM
RSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UUklHR0VSIHN0YXRlbWVu
dCBzdWNjZWVkZWQuCitTUUxJVEVfRFJPUF9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4K
K1NRTElURV9EUk9QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1ZJ
RVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1RBQkxFIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCitXcml0ZSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RBQkxF
IHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0
aG9yaXplZCkKK1NRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElU
RV9DUkVBVEVfSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVt
ZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0ZW1l
bnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQp
CitTUUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQ1JFQVRFX1RFTVBf
VklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5v
dCBhdXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVB
VEVfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIz
IG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50IGZhaWxlZDog
Y291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9D
UkVBVEVfSU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9UQUJM
RSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVt
ZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVk
ZWQuCitTUUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9D
UkVBVEVfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKK1NRTElURV9SRUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfU0VMRUNUIHN0
YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfREVMRVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfSU5TRVJU
IHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1
dGhvcml6ZWQpCitTUUxJVEVfVVBEQVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUFJBR01BIHN0YXRlbWVu
dCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQp
CitTUUxJVEVfQUxURVJfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUg
c3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1l
bnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTog
VGVzdFRhYmxlKQorU1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5v
dCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQVRUQUNIIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhv
cml6ZWQpCitTUUxJVEVfREVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQor
U1FMSVRFX0FOQUxZWkUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVt
ZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBmYWls
ZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJ
VEVfRFJPUF9URU1QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKK1NRTElURV9EUk9QX1RFTVBfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVFJJR0dF
UiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQorU1FMSVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVEFCTEUg
c3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0
aG9yaXplZCkKK1JlYWQgdHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmFmMTBh
YTQ3NTAwYTRmM2NmMzEyNGM3NjcxNzMxNzllODk0MzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwKQEAgLTAsMCArMSwx
MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29t
bW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ0ZXN0LWF1dGhvcml6ZXIuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyB0
ZXN0IHRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLjxicj4KKzxwcmUgaWQ9ImNvbnNvbGUi
PgorRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNGEwOGM4OWRmNTRhM2I2YzRhODYzYzAxZGY4OWY0NzUxY2NjOTE4OQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qcwpAQCAt
MCwwICsxLDE1MyBAQAorZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBsb2dBbmRUZXJtaW5hdGVUZXN0KG1lc3NhZ2UsIGVy
cm9yKQoreworICAgIGxvZyhtZXNzYWdlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOworICAgIHRl
cm1pbmF0ZVRlc3QoKTsKK30KKworZnVuY3Rpb24gY2xlYW51cChkYikKK3sKKyAgICBkYi50cmFu
c2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBU
QUJMRSBJRiBFWElTVFMgVGVzdDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1Ag
SU5ERVggSUYgRVhJU1RTIFRlc3RJbmRleDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IkRST1AgVklFVyBJRiBFWElTVFMgVGVzdFZpZXc7Iik7CisgICAgICAgICAgICB0eC5leGVjdXRl
U3FsKCJEUk9QIFRSSUdHRVIgSUYgRVhJU1RTIFRlc3RUcmlnZ2VyOyIpOworICAgICAgICB9LCBm
dW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJDbGVhbnVwIGZhaWxlZCIsIGVy
cm9yKTsgfSk7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhzdGF0ZW1l
bnRUeXBlKQoreworICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2VlZGVk
LiIpOworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKHN0YXRlbWVudFR5cGUs
IGVycm9yKQoreworICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFpbGVkOiAi
ICsgZXJyb3IubWVzc2FnZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBleGVj
dXRlU3RhdGVtZW50KHR4LCBzdGF0ZW1lbnQsIG9wZXJhdGlvbikKK3sKKyAgICB0eC5leGVjdXRl
U3FsKHN0YXRlbWVudCwgW10sCisgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsg
c3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKG9wZXJhdGlvbik7IH0sCisgICAgICAgICAgICAgICAg
ICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sob3Bl
cmF0aW9uLCBlcnJvcik7IH0pOworfQorCitmdW5jdGlvbiBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4
KQoreworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEFCTEUgVGVzdCAoRm9vIGlu
dCk7IiwgIlNRTElURV9DUkVBVEVfVEFCTEUiKTsKK30KKworZnVuY3Rpb24gY3JlYXRlU3RhdGVt
ZW50c0NhbGxiYWNrKHR4KQoreworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgSU5E
RVggVGVzdEluZGV4IE9OIFRlc3QgKEZvbyk7IiwgIlNRTElURV9DUkVBVEVfSU5ERVgiKTsKKwor
ICAgIC8vIEV2ZW4gdGhvdWdoIHRoZSBmb2xsb3dpbmcgcXVlcnkgc2hvdWxkIHRyaWdnZXIgYSBT
UUxJVEVfQ1JFQVRFX1RFTVBfSU5ERVggb3BlcmF0aW9uCisgICAgLy8gKGFjY29yZGluZyB0byBo
dHRwOi8vd3d3LnNxbGl0ZS5vcmcvdGVtcGZpbGVzLmh0bWwpLCBpdCBkb2Vzbid0LCBhbmQgSSdt
IG5vdCBhd2FyZQorICAgIC8vIG9mIGFueSBvdGhlciB3YXkgdG8gdHJpZ2dlciB0aGlzIG9wZXJh
dGlvbi4gU28gd2UnbGwgc2tpcCBpdCBmb3Igbm93LgorICAgIC8vZXhlY3V0ZVN0YXRlbWVudCh0
eCwgIlNFTEVDVCAqIEZST00gVGVzdCBXSEVSRSBGb28gSU4gKDEsIDIsIDMpOyIsICJTUUxJVEVf
Q1JFQVRFX1RFTVBfSU5ERVgiKTsKKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUg
VEVNUCBUQUJMRSBUZXN0VGVtcFRhYmxlIChGb28gaW50KTsiLCAiU1FMSVRFX0NSRUFURV9URU1Q
X1RBQkxFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFRSSUdHRVIg
VGVzdFRlbXBUcmlnZ2VyIElOU0VSVCBPTiBUZXN0IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9N
IFRlc3Q7IEVORDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIiKTsKKyAgICBleGVjdXRl
U3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRFTVAgVklFVyBUZXN0VGVtcFZpZXcgQVMgU0VMRUNUIENP
VU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1ZJRVciKTsKKyAgICBleGVj
dXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRSSUdHRVIgVGVzdFRyaWdnZXIgSU5TRVJUIE9OIFRl
c3QgQkVHSU4gU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsgRU5EOyIsICJTUUxJVEVfQ1JFQVRF
X1RSSUdHRVIiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFZJRVcgVGVzdFZp
ZXcgQVMgU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9WSUVXIik7
CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSVJUVUFMIFRBQkxFIFRlc3RWaXJ0
dWFsVGFibGUgVVNJTkcgTWlzc2luZ01vZHVsZTsiLCAiU1FMSVRFX0NSRUFURV9WVEFCTEUiKTsK
K30KKworZnVuY3Rpb24gb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpCit7CisgICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9SRUFE
Iik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7
IiwgIlNRTElURV9TRUxFQ1QiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVMRVRFIEZS
T00gVGVzdDsiLCAiU1FMSVRFX0RFTEVURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJJ
TlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMSk7IiwgIlNRTElURV9JTlNFUlQiKTsKKyAgICBleGVj
dXRlU3RhdGVtZW50KHR4LCAiVVBEQVRFIFRlc3QgU0VUIEZvbyA9IDIgV0hFUkUgRm9vID0gMTsi
LCAiU1FMSVRFX1VQREFURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJQUkFHTUEgY2Fj
aGVfc2l6ZTsiLCAiU1FMSVRFX1BSQUdNQSIpOworCisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwg
IkFMVEVSIFRBQkxFIFRlc3QgUkVOQU1FIFRPIFRlc3RUYWJsZTsiLCAiU1FMSVRFX0FMVEVSX1RB
QkxFIik7CisgICAgLy8gUmVuYW1lIHRoZSB0YWJsZSBiYWNrIHRvIGl0cyBvcmlnaW5hbCBuYW1l
CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFMVEVSIFRBQkxFIFRlc3RUYWJsZSBSRU5BTUUg
VG8gVGVzdDsiLCAiU1FMSVRFX0FMVEVSX1RBQkxFIik7CisKKyAgICBleGVjdXRlU3RhdGVtZW50
KHR4LCAiQkVHSU4gVFJBTlNBQ1RJT047IiwgIlNRTElURV9UUkFOU0FDVElPTiIpOworICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHgsICJBVFRBQ0ggbWFpbiBBUyBUZXN0TWFpbjsiLCAiU1FMSVRFX0FU
VEFDSCIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJERVRBQ0ggVGVzdE1haW47IiwgIlNR
TElURV9ERVRBQ0giKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUkVJTkRFWDsiLCAiU1FM
SVRFX1JFSU5ERVgiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQU5BTFlaRTsiLCAiU1FM
SVRFX0FOQUxZWkUiKTsKKworICAgIC8vIFNRTElURV9GVU5DVElPTjogYWxsb3dlZCB3cml0ZSBt
b2RlCisgICAgLy8gVGhlcmUgaXMgbm8gU1FML0phdmFzY3JpcHQgQVBJIHRvIGFkZCB1c2VyLWRl
ZmluZWQgZnVuY3Rpb25zIHRvIFNRTGl0ZSwKKyAgICAvLyBzbyB3ZSBjYW5ub3QgdGVzdCB0aGlz
IG9wZXJhdGlvbgorfQorCitmdW5jdGlvbiBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KQorewor
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIElOREVYIFRlc3RJbmRleDsiLCAiU1FMSVRF
X0RST1BfSU5ERVgiKTsKKworICAgIC8vIFNRTElURV9EUk9QX1RFTVBfSU5ERVg6IGFsbG93ZWQg
aW4gd3JpdGUgbW9kZQorICAgIC8vIE5vdCBzdXJlIGhvdyB0byB0ZXN0IHRoaXM6IHRlbXAgaW5k
ZXhlcyBhcmUgYXV0b21hdGljYWxseSBkcm9wcGVkIHdoZW4KKyAgICAvLyB0aGUgZGF0YWJhc2Ug
aXMgY2xvc2VkLCBidXQgSFRNTDUgZG9lc24ndCBzcGVjaWZ5IGEgY2xvc2VEYXRhYmFzZSgpIGNh
bGwuCisKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBUZXN0VGVtcFRhYmxl
OyIsICJTUUxJVEVfRFJPUF9URU1QX1RBQkxFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwg
IkRST1AgVFJJR0dFUiBUZXN0VGVtcFRyaWdnZXI7IiwgIlNRTElURV9EUk9QX1RFTVBfVFJJR0dF
UiIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFRlbXBWaWV3OyIs
ICJTUUxJVEVfRFJPUF9URU1QX1ZJRVciKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJP
UCBUUklHR0VSIFRlc3RUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9UUklHR0VSIik7CisgICAgZXhl
Y3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVklFVyBUZXN0VmlldzsiLCAiU1FMSVRFX0RST1BfVklF
VyIpOworCisgICAgLy8gU1FMSVRFX0RST1BfVlRBQkxFOiBhbGxvd2VkIGluIHdyaXRlIG1vZGUK
KyAgICAvLyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB3ZSBjYW5ub3QgY3JlYXRlIGEgdmly
dHVhbCB0YWJsZSBiZWNhdXNlIHdlIGRvIG5vdAorICAgIC8vIGhhdmUgU1FML0phdmFzY3JpcHQg
QVBJcyB0byByZWdpc3RlciBhIG1vZHVsZSB0aGF0IGltcGxlbWVudHMgYSB2aXJ0dWFsIHRhYmxl
LgorICAgIC8vIFRoZXJlZm9yZSwgdHJ5aW5nIHRvIGRyb3AgYSB2aXJ0dWFsIHRhYmxlIHdpbGwg
YWx3YXlzIGZhaWwgKG5vIHN1Y2ggdGFibGUpCisgICAgLy8gYmVmb3JlIGV2ZW4gZ2V0dGluZyB0
byB0aGUgYXV0aG9yaXplci4KKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFRBQkxF
IFRlc3Q7IiwgIlNRTElURV9EUk9QX1RBQkxFIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZWFkV3Jp
dGVNb2RlKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAg
ICAgICBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KTsKKyAgICAgICAgICAgIGNyZWF0ZVN0YXRlbWVu
dHNDYWxsYmFjayh0eCk7CisgICAgICAgICAgICBvdGhlclN0YXRlbWVudHNDYWxsYmFjayh0eCk7
CisgICAgICAgICAgICBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KTsKKyAgICAgICAgfSwKKyAg
ICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUgdHJhbnNh
Y3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9LAorICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJXcml0
ZSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQuIik7IH0pOworfQorCitmdW5jdGlvbiB0ZXN0UmVhZE9u
bHlNb2RlKGRiKQoreworICAgIC8vIFRlc3QgdGhlICdDUkVBVEUgVEFCTEUnIG9wZXJhdGlvbjsg
aXQgc2hvdWxkIGJlIGRpc2FsbG93ZWQKKyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlVGFi
bGVDYWxsYmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVz
dCgiUmVhZCAnQ1JFQVRFIFRBQkxFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwor
CisgICAgLy8gSW4gb3JkZXIgdG8gdGVzdCBhbGwgb3RoZXIgJ0NSRUFURScgb3BlcmF0aW9ucywg
d2UgbXVzdCBjcmVhdGUgdGhlIHRhYmxlIGZpcnN0CisgICAgZGIudHJhbnNhY3Rpb24oY3JlYXRl
VGFibGVDYWxsYmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRl
VGVzdCgiV3JpdGUgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9
KTsKKyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrLAorICAg
ICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdDUkVBVEUn
IHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7CisKKyAgICAvLyBJbiBvcmRlciB0byB0
ZXN0IHRoZSAnRFJPUCcgYW5kICdvdGhlcicgb3BlcmF0aW9ucywgd2UgbmVlZCB0byBmaXJzdCBj
cmVhdGUgdGhlIHJlc3BlY3RpdmUgZW50aXRpZXMKKyAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVT
dGF0ZW1lbnRzQ2FsbGJhY2ssCisgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1p
bmF0ZVRlc3QoIldyaXRlICdDUkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7
CisgICAgZGIucmVhZFRyYW5zYWN0aW9uKG90aGVyU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAg
ICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdvdGhlcicgdHJh
bnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKKworICAgIC8vIEhhY2s6IGluc2VydCBhbiBl
bXB0eSB3cml0ZSB0cmFuc2FjdGlvbiB0byBndWFyYXRlZSB0aGF0IHRoZXNlIHRyYW5zYWN0aW9u
cyBhcmUgZXhlY3V0ZWQgc2VxdWVudGlhbGx5CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsgfSk7CisgICAgZGIucmVhZFRyYW5zYWN0aW9uKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2ss
CisgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJlYWQgJ0RS
T1AnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSwKKyAgICAgICAgZnVuY3Rpb24oKSB7
IGxvZygiUmVhZCB0cmFuc2FjdGlvbnMgc3VjY2VlZGVkLiIpOyB0ZXJtaW5hdGVUZXN0KCk7IH0p
OworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VX
aXRoU3VmZml4KCJBdXRob3JpemVyVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGRhdGFiYXNlIGF1
dGhvcml6ZXIuIiwgMzI3NjgpOworICAgIGNsZWFudXAoZGIpOworICAgIHRlc3RSZWFkV3JpdGVN
b2RlKGRiKTsKKyAgICB0ZXN0UmVhZE9ubHlNb2RlKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1j
YWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4OGM3NDI2
MDVlMzRkZGI5ODhlODkzM2MzNGUwNDNhMzNhYzI0ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jh
c2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBUcmFuc2Fj
dGlvbkNhbGxiYWNrRXJyb3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFz
IHBhc3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40YmNjNzMyYmI4ZjJiNTNlY2I0NDgxYTc5OTc1ZTJjY2Y3MWNjZGMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhj
ZXB0aW9uLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKK30KKwordmFyIGRiID0gb3BlbkRhdGFiYXNlKCIxNTk3NlRlc3QiLCAiMS4wIiwg
IlRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTc2Iiwg
MSk7CitkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0sIDApOworICAgdGhyb3cgIlRyYW5zYWN0
aW9uQ2FsbGJhY2tFcnJvciI7Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitJZiBX
ZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNzZWQKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yN2Y0NzRmN2JjNmVhNzhhOTIxN2I5OGQwOGI5YjI1YTcxMmVmZTRlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQUxFUlQ6
IHVuZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBj
YWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUg
dHJhbnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjgyNWQ3MDAzNDA0
Mjg0NmVmZDRkMWQ5NTgzYjcyZTJlNTk1MmJiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0
bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhp
cyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0
aGUgcmlnaHQgd29ybGQuCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIg
dHJhbnNhY3Rpb25DYWxsYmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAg
IGlmICgoKyt0cmFuc2FjdGlvbkNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjazEodHgpCit7CisgICAgYWxl
cnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgpOworfQor
CitmdW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVu
dC5ib2R5LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlM
OiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVu
dC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJh
Y2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVh
dGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0
cmFuc2FjdGlvbkNhbGxiYWNrMSh0eClcbiIgKworICAgICAgICAie1xuIiArCisgICAgICAgICIg
ICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIgICAgd2luZG93Lmxv
Y2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIgKworICAgICAg
ICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxsYmFja0lzb2xhdGVkV29y
bGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKHRyYW5z
YWN0aW9uQ2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5z
YWN0aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRy
YW5zYWN0aW9uKHRyYW5zYWN0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZm
YjMzYmQ5YWI3ZDA3N2M1ZGQ2M2MwMDc5OGUzZDY3NTAwOWYzMTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtv
YmplY3QgT2JqZWN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBbb2JqZWN0IE9iamVjdF0K
K1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBp
bnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNh
Y3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCitUZXN0aW5nIHRyYW5zYWN0
aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBT
VUNDRVNTCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2Fs
bGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sg
dGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNV
Q0NFU1MKK1Rlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQg
ZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUworQWxsIFRlc3RzIGFyZSBj
b21wbGV0ZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQt
d29ybGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhMTUzOTY2NzhkOWViZjMxNTJkOGU5Yzg0
ZDNjMTRjYjRlOWYyNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACitBTEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1l
bnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4K
K1RoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBj
YWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjE4OTRkMmVhMjc1OGFlOTFmOTczOWE3
YjU1NWQ1YzZlMzJkY2IxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAt
MCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3Qg
dGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRo
ZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0
cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9IDA7CitmdW5jdGlvbiBkb25lKCkKK3sK
KyAgICBpZiAoKCsrdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0
eCkKK3sKKyAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAg
ICBkb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazIodHgpCit7
CisgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1l
bnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRl
ZCB3b3JsZC4iOworZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIg
dmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xl
YXJBbGxEYXRhYmFzZXMoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAor
ICAgICAgICAiZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eClcbiIgKworICAg
ICAgICAie1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiAr
CisgICAgICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsK
KyAgICAgICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNh
Y3Rpb25FcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisg
ICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIgKworICAgICAgICAiICAg
IHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9
LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pO1xuIiArCisgICAgICAgICJ9
LCB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0
YWJhc2UoJ1RyYW5zYWN0aW9uRXJyb3JDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcn
LCAxKTsKKyAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhl
Y3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1bmN0
aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7CisgICAgfSwgdHJhbnNhY3Rpb25FcnJv
ckNhbGxiYWNrMik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFj
ay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjkwYjJlZDAzNGZkOTVhN2JhZTUyYTA4NmU5YTJlZTVlYmNkZWY3
NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2Fj
dGlvbi1lcnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsMTA1IEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKK30K
KworLy8gc2lnbmFsIHRvIGxheW91dFRlc3RDb250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHpl
cm8uCit2YXIgdGVzdENvdW50ID0gNDsKKy8vIHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0
aGUgbnVtYmVyIG9mIHJvd3MgYWxyZWFkeSBpbiBvdXIgdGVzdCBkYXRhYmFzZS4KKy8vIG91ciBn
b2FsIGlzIHRvIGtlZXAgdGhlIG51bWJlciB1bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCit2
YXIgaW5pdGlhbFJvd0NvdW50ID0gMDsKK3ZhciBkYXRhYmFzZTsKK3ZhciBzdWNjZXNzQ2FsbGJh
Y2tDYWxsZWQ7CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICgtLXRlc3RDb3Vu
dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIp
OworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJh
Y2soKQoreworICAgIHN1Y2Nlc3NDYWxsYmFja0NhbGxlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9u
IHZlcmlmeVN1Y2Nlc3MobXNnKQoreworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KQorICAgIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNv
dW50IEZST00gRXJyb3JDYWxsYmFja1Rlc3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQorICAgICAg
ICB7CisgICAgICAgICAgICBsb2cobXNnICsgIiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50
ID09IGluaXRpYWxSb3dDb3VudCAmJiAhc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1Mi
IDogIkZBSUxVUkUiKSk7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0pOwor
ICAgIH0pOworfQorCitmdW5jdGlvbiBmYWlsTWlkV2F5KGVycm9yQ2FsbGJhY2spCit7CisgICAg
c3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID0gZmFsc2U7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpCisgICAgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBF
cnJvckNhbGxiYWNrVGVzdChzb21lVmFsdWUpIFZBTFVFUyg/KTsiLCBbIDEgXSk7CisgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIk1VVFRFUiBTT01FVEhJTkcgSUxMRUdJQkxFIik7CisgICAgfSwgZXJy
b3JDYWxsYmFjaywgc3VjY2Vzc0NhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50Q2Fs
bGJhY2tUaHJvd3NFeGNlcHRpb24oZXJyb3JDYWxsYmFjaykKK3sKKyAgICBzdWNjZXNzQ2FsbGJh
Y2tDYWxsZWQgPSBmYWxzZTsKKyAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkK
KyAgICB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tU
ZXN0KHNvbWVWYWx1ZSkgVkFMVUVTKD8pOyIsIFsgMSBdLCBmdW5jdGlvbigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHRocm93IHt9OworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rp
b24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICBkYXRhYmFzZSA9IG9wZW5E
YXRhYmFzZSgiRXJyb3JDYWxsYmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBj
YWxsYmFjayIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQorICAg
IHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJy
b3JDYWxsYmFja1Rlc3QgKHNvbWVWYWx1ZSkiLCBbXSk7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IlNFTEVDVCBjb3VudCgqKSBBUyBjb3VudCBGUk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1
bmN0aW9uKHR4LCBycykKKyAgICAgICAgeworICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0g
cnMucm93cy5pdGVtKDApLmNvdW50OworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGZhaWxN
aWRXYXkoZnVuY3Rpb24oKSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICB2ZXJpZnlTdWNjZXNzKCJU
ZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0
dXJuaW5nIHRydWUiKTsKKyAgICBmYWlsTWlkV2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7
IH0pOworICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQt
d2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UiKTsKKyAgICBzdGF0ZW1lbnRDYWxs
YmFja1Rocm93c0V4Y2VwdGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOworICAgIHZl
cmlmeVN1Y2Nlc3MoIlRlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlv
biBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKKyAgICBzdGF0ZW1lbnRDYWxs
YmFja1Rocm93c0V4Y2VwdGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKKyAgICB2
ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRp
b24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyBmYWxzZSIpOworfQorCis8L3NjcmlwdD4K
KzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNvbmZpcm1z
IHRoYXQgPGNvZGU+U1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2Vk
IGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24g
aXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCis8cHJlIGlkPSJjb25zb2xlIj4KKzwv
cHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3Mt
Y2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MjdmNGFj
ZTczODMzYjVlNmVjNDY4NmFmZTcwNTk2NDNiZjFkOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQK
K0FMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3Jl
YXRlZCBpbiB0aGlzIHdvcmxkLgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9u
IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJh
bnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNhMmRmOTRiMzRhZDU4NmI0MDc2MzQyMGMwYzcwMzY5M2QyMTc4MmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1
Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFja3NJ
bnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKyt0cmFuc2FjdGlvblN1
Y2Nlc3NDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1
bmN0aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eCkKK3sKKyAgICBhbGVydCgiRkFJ
TDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBkb25lKCk7Cit9CisKK2Z1bmN0
aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVu
dC5ib2R5LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlM
OiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVu
dC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJh
Y2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVh
dGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0
cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazEodHgpXG4iICsKKyAgICAgICAgIntcbiIgKworICAg
ICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdp
bmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsK
KyAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0NhbGxi
YWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAgICAgICJkYjEudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgbnVsbCwgdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJh
Y2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vz
c0NhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOworICAgIGRiMi50cmFuc2Fj
dGlvbihmdW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazIp
OworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142343</attachid>
            <date>2012-05-16 14:09:36 -0700</date>
            <delta_ts>2012-05-21 11:05:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86138-20120516140935.patch</filename>
            <type>text/plain</type>
            <size>292962</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3MjMyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjQ3ZmY3NWY1MjUzYWU3MjA4YjE1
YjcwMDljYmI5ZjAzYjUzNWM2ZC4uOWFlYjQxMTc1MTZlOWExNjcxYjg4MmI5NjZmNzdkNTgzMTY3
ZDdjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4NiBAQAorMjAxMi0wNS0xNiAgSm9zaHVhIEJlbGwgIDxq
c2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgV2ViU1FMIHRlc3RzIGluIExheW91
dFRlc3RzL3N0b3JhZ2UgdG8gd2Vic3FsIGRpcmVjdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNl
cy9kYXRhYmFzZS13b3JrZXItY29udHJvbGxlci5qczoKKyAgICAgICAgKHJ1blRlc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJy
b3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvdHJh
bnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3Ry
YW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlv
bi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFj
ay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmct
ZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
c3RvcmFnZS9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvc3FsLWVycm9y
LWNvZGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZWZsL3Rlc3RfZXhwZWN0YXRpb25z
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1leHBlY3RlZC50
eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVj
dGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUt
cmV1c2UtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFu
Z2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uv
d2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5odG1sOiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbC4KKyAgICAg
ICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanM6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5q
cy4KKyAgICAgICAgKGZpbmlzaFRlc3QpOgorICAgICAgICAocnVuVGVzdC5jYXRjaCk6CisgICAg
ICAgIChydW5UZXN0KToKKyAgICAgICAgKHJ1blRlc3QyLmNhdGNoKToKKyAgICAgICAgKHJ1blRl
c3QyKToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1v
bi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4
cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1j
cmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1s
LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLmh0bWw6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLmh0bWwuCisgICAgICAgICog
c3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4
cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJpbmctc3RyZXNz
LXRlc3QuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvY2xvc2UtZHVyaW5n
LXN0cmVzcy10ZXN0Lmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9j
ay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQuCisgICAgICAgICog
c3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0OiBS
ZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2VtcHR5LXN0YXRlbWVudC5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQuaHRtbC4KKyAgICAg
ICAgKiBzdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQu
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5odG1sOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5qczogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5qcy4KKyAgICAgICAgKHRocm93T25Ub1N0
cmluZ09iamVjdC50b1N0cmluZyk6CisgICAgICAgICh2YXIpOgorICAgICAgICAodHJ5RXhlY3V0
ZVNxbCk6CisgICAgICAgIChydW5UcmFuc2FjdGlvblRlc3QpOgorICAgICAgICAocnVuVHJhbnNh
Y3Rpb25UZXN0cyk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25l
LXN0YXRlbWVudC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0
ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwu
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQu
dHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRoLXho
ci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0
aC14aHIuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Ut
d2l0aC14aHIuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRo
LXhoci5qczogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0
aC14aHIuanMuCisgICAgICAgIChzdG9wSW50ZXJ2YWxzKToKKyAgICAgICAgKHN0b3BUZXN0KToK
KyAgICAgICAgKHVwZGF0ZURhdGFiYXNlKToKKyAgICAgICAgKGNoZWNrRm9yU3VjY2Vzcyk6Cisg
ICAgICAgIChlcnJvckhhbmRsZXIpOgorICAgICAgICAoc2VuZFhocik6CisgICAgICAgIChpbnZv
a2VCYWNrKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAocnVuVGVzdHNJbm5lcik6Cisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVj
dGlvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRp
cGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0LgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRt
bDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdh
cmJhZ2UtY29sbGVjdGlvbi5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxl
LWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMuCisgICAg
ICAgIChHQyk6CisgICAgICAgIChjaGVja0NvbXBsZXRpb24pOgorICAgICAgICAocnVuVGVzdCk6
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVk
LnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFu
c2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhh
bmRsZXMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRy
YW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24t
ZGlmZmVyZW50LWhhbmRsZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211
bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy5qcy4KKyAgICAgICAgKGNo
ZWNrQ29tcGxldGlvbik6CisgICAgICAgIChvcGVuVGVzdERhdGFiYXNlKToKKyAgICAgICAgKHN0
YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgIChzdGF0ZW1lbnRFcnJvckNhbGxiYWNr
KToKKyAgICAgICAgKHJ1blRyYW5zYWN0aW9uKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMuaHRtbC4KKyAgICAg
ICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanM6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy5qcy4KKyAgICAgICAg
KGNoZWNrQ29tcGxldGlvbik6CisgICAgICAgIChydW5UZXN0LmRiKToKKyAgICAgICAgKHJ1blRl
c3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3MtZXhwZWN0
ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLmh0bWw6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLmh0bWwuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
Y3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQu
dHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3Jl
YXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2suaHRtbC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24tZXhw
ZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNl
LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0OiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0
ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90
YS5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92
ZXItcXVvdGEuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNl
dC1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi5odG1s
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0
eS12ZXJzaW9uLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13
aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJv
Z3Jlc3MtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJh
c2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVz
cy5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJh
bnNhY3Rpb24taW4tcHJvZ3Jlc3MuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuanMuCisgICAgICAg
IChvcGVuVGVzdERhdGFiYXNlKToKKyAgICAgICAgKHJ1blRlc3QuZGIxLnRyYW5zYWN0aW9uKToK
KyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJv
d3Npbmctbm9yZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRl
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmct
bm9yZWFkLW5vd3JpdGUuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9xdW90YS10cmFj
a2luZy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3Rh
LXRyYWNraW5nLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9xdW90YS10
cmFja2luZy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10cmFj
a2luZy5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dl
dGhlci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3Jp
dGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dl
dGhlci5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qczogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpzLgor
ICAgICAgICAodGVybWluYXRlVGVzdCk6CisgICAgICAgIChvcGVuVGVzdERhdGFiYXNlKToKKyAg
ICAgICAgKHJ1blRyYW5zYWN0aW9uKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVj
dGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvcmVhZC10cmFuc2FjdGlv
bnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uv
d2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5Lmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29u
Y3VycmVudGx5Lmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcmVzb3VyY2VzL2RhdGFi
YXNlLWNvbW1vbi5qczogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2Vz
L2RhdGFiYXNlLWNvbW1vbi5qcy4KKyAgICAgICAgKG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgpOgor
ICAgICAgICAobG9nKToKKyAgICAgICAgKHNldExvY2F0aW9uSGFzaCk6CisgICAgICAgIChzZXR1
cEFuZFJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFz
ZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvcmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0OiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy1leHBlY3RlZC50eHQuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMuaHRtbC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9zcWwtZGF0YS10eXBlcy5qczogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2Uvc3FsLWRhdGEtdHlwZXMuanMuCisgICAgICAgICh3cml0ZU1lc3NhZ2VUb0xvZyk6Cisg
ICAgICAgIChub3RpZnlEb25lKToKKyAgICAgICAgKHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZSk6
CisgICAgICAgICh0ZXN0REJWYWx1ZXMpOgorICAgICAgICAoZmV0Y2hEQlZhbHVlc1N0bXQpOgor
ICAgICAgICAoaW5zZXJ0VGVzdFZhbHVlc1N0bXQpOgorICAgICAgICAoY3JlYXRlVGVzdERCU3Rt
dCk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zcWwtZXJy
b3ItY29kZXMtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9z
cWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Nx
bC1lcnJvci1jb2Rlcy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwt
ZXJyb3ItY29kZXMuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29k
ZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5q
cy4KKyAgICAgICAgKGZpbmlzaFRlc3QpOgorICAgICAgICAodHJhbnNhY3Rpb25FcnJvckNhbGxi
YWNrKToKKyAgICAgICAgKHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrKToKKyAgICAgICAgKHRl
c3RUcmFuc2FjdGlvbik6CisgICAgICAgICh0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNlcHRpb24p
OgorICAgICAgICAodGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1c2VPZlN0YXRlbWVudEZhaWx1
cmUpOgorICAgICAgICAodGVzdEludmFsaWRTdGF0ZW1lbnQpOgorICAgICAgICAodGVzdEluY29y
cmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMpOgorICAgICAgICAodGVzdEJpbmRQYXJhbWV0ZXJP
Zldyb25nVHlwZS5iYWRTdHJpbmcudG9TdHJpbmcpOgorICAgICAgICAodGVzdEJpbmRQYXJhbWV0
ZXJPZldyb25nVHlwZSk6CisgICAgICAgICh0ZXN0UXVvdGFFeGNlZWRlZCk6CisgICAgICAgICh0
ZXN0VmVyc2lvbk1pc21hdGNoLmRiLnRyYW5zYWN0aW9uKToKKyAgICAgICAgKHRlc3RWZXJzaW9u
TWlzbWF0Y2gpOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwv
c3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAg
ICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQt
d29ybGQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0
ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3It
Y2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9z
dGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQu
dHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1j
YWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3Vj
Y2Vzcy1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3Vj
Y2Vzcy1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNj
ZXNzLWNhbGxiYWNrLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3Jp
emVyLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1h
dXRob3JpemVyLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90ZXN0LWF1
dGhvcml6ZXIuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRo
b3JpemVyLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmpz
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXIuanMuCisg
ICAgICAgICh0ZXJtaW5hdGVUZXN0KToKKyAgICAgICAgKGxvZ0FuZFRlcm1pbmF0ZVRlc3QpOgor
ICAgICAgICAoY2xlYW51cCk6CisgICAgICAgIChzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2spOgor
ICAgICAgICAoc3RhdGVtZW50RXJyb3JDYWxsYmFjayk6CisgICAgICAgIChleGVjdXRlU3RhdGVt
ZW50KToKKyAgICAgICAgKGNyZWF0ZVRhYmxlQ2FsbGJhY2spOgorICAgICAgICAoY3JlYXRlU3Rh
dGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKG90aGVyU3RhdGVtZW50c0NhbGxiYWNrKToKKyAg
ICAgICAgKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2spOgorICAgICAgICAodGVzdFJlYWRXcml0ZU1v
ZGUpOgorICAgICAgICAodGVzdFJlYWRPbmx5TW9kZS5kYik6CisgICAgICAgICh0ZXN0UmVhZE9u
bHlNb2RlKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Ry
YW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1j
cmFzaC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
Y2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9z
dG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sLgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24t
Y2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uv
d2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2Fs
bGJhY2stZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQu
dHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1j
YWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlv
bi1lcnJvci1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90
cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQuaHRtbC4KKwogMjAxMi0wNS0xNiAgS2VuaWNoaSBJc2hpYmFzaGkg
IDxiYXNoaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBjaHJvbWl1bSB0ZXN0
IGV4cGVjdGF0aW9ucyB1cGRhdGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vy
cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS13b3JrZXItY29udHJvbGxlci5qcyBiL0xheW91
dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS13b3JrZXItY29u
dHJvbGxlci5qcwppbmRleCBhOGE5NzUzNWVjMjRmOTQyYTgxNGNjMTJjZjFjZDk4YjJlYTEwYjdj
Li5hNzY1ZThjMTM1OGVjNGE0ZWVhMGZhNjhhZGRmNjhkMmYyOTRmYmU0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJjZXMvZGF0YWJhc2Utd29ya2Vy
LWNvbnRyb2xsZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3N0b3JhZ2UvcmVz
b3VyY2VzL2RhdGFiYXNlLXdvcmtlci1jb250cm9sbGVyLmpzCkBAIC0zMyw3ICszMyw3IEBAIGZ1
bmN0aW9uIHJ1blRlc3QodGVzdEZpbGUpCiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKICAgICB9CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNv
bGUiKS5pbm5lclRleHQgPSAiIjsKLSAgICBkYXRhYmFzZVdvcmtlci5wb3N0TWVzc2FnZSgiaW1w
b3J0U2NyaXB0czouLi8uLi8uLi9zdG9yYWdlLyIgKyB0ZXN0RmlsZSk7CisgICAgZGF0YWJhc2VX
b3JrZXIucG9zdE1lc3NhZ2UoImltcG9ydFNjcmlwdHM6Li4vLi4vLi4vc3RvcmFnZS93ZWJzcWwv
IiArIHRlc3RGaWxlKTsKICAgICBkYXRhYmFzZVdvcmtlci5wb3N0TWVzc2FnZSgicnVuVGVzdCIp
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3Rv
cmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDkzOWFjZGRhYWVmNDdj
NjQzMmJkNTZkYTMzNDQ4ZWVjY2FmN2RlZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFn
ZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMTQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3OiBVbmNhdWdodCBFeGNlcHRp
b24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCi1UaGlzIHRlc3QgY29uZmlybXMgdGhhdCBh
IHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBvbmx5IGlmIGEg
c3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgcmV0dXJucyB0
cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9u
IGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJv
ciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2Fs
bGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNr
IHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMg
aW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQu
Ci1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1Q
QVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNT
IC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1UZXN0IENv
bXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9z
dG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1j
YWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA0OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0ZDBhN2UyYWE4MjdhLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlv
bi1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNPTlNP
TEUgTUVTU0FHRTogbGluZSAxMzogVW5jYXVnaHQgVHJhbnNhY3Rpb25DYWxsYmFja0Vycm9yCi1J
ZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNzZWQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NkOWRjZmZmMDU5OGI0Yzg5OTUyZjNiYTM1OGZj
NzhkM2ZiODBjZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1l
cnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAK
LUNPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmplY3Q+Ci1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRo
YXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCBy
ZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVk
IGJhY2sgb24gZmFpbHVyZS4KLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFu
ZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3RpbmcgdHJhbnNh
Y3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBT
VUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5k
IGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUwotVGVzdGluZyBzdGF0ZW1l
bnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5p
bmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVt
ZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ5MzlhY2RkYWFlZjQ3YzY0MzJiZDU2ZGEzMzQ0OGVlY2NhZjdk
ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMv
c3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjc6IFVuY2F1Z2h0IEV4Y2VwdGlv
biBpbiBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEg
dHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkgcm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBz
dGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRy
dWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2YWx1ZS4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
ZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sg
d2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBp
bnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tl
ZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4K
K1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BB
U1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1Mg
LSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1Rlc3QgQ29t
cGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0
b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwv
dHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0ZDBhN2UyYWE4MjdhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFVuY2F1Z2h0IFRyYW5zYWN0aW9u
Q2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFz
c2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFn
ZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zY2Q5ZGNmZmYwNTk4YjRjODk5
NTJmM2JhMzU4ZmM3OGQzZmI4MGNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2
MzogVW5jYXVnaHQgIzxPYmplY3Q+CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0
ICM8T2JqZWN0PgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQs
IHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KK1Rlc3Rp
bmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5p
bmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFu
ZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCitUZXN0aW5nIHN0YXRlbWVu
dCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmlu
ZyB0cnVlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhj
ZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCitBbGwg
VGVzdHMgYXJlIGNvbXBsZXRlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDkzOWFjZGRhYWVmNDdjNjQzMmJkNTZkYTMzNDQ4ZWVjY2FmN2RlZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3OiBV
bmNhdWdodCBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCi1UaGlzIHRlc3Qg
Y29uZmlybXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlm
IGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2Vw
dGlvbiwgcmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCi1QQVNTIC0g
dGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0
cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNh
Y3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9u
IGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJv
ciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2Fs
bGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJh
Y2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sg
d2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFn
ZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0ZDBh
N2UyYWE4MjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwy
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVW5jYXVnaHQgVHJhbnNhY3Rpb25D
YWxsYmFja0Vycm9yCi1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNz
ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdl
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NkOWRjZmZmMDU5OGI0
Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFn
ZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmpl
Y3Q+Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgotVGhpcyB0
ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQg
Y29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBp
cyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFp
bGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MK
LVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayBy
ZXR1cm4gZmFsc2UgOiBTVUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2lu
ZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUwot
VGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBj
YWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwgVGVzdHMgYXJlIGNvbXBsZXRl
LgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFn
ZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3It
Y2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5MzlhY2RkYWFlZjQ3YzY0MzJiZDU2
ZGEzMzQ0OGVlY2NhZjdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjc6IFVu
Y2F1Z2h0IEV4Y2VwdGlvbiBpbiBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sKK1RoaXMgdGVzdCBj
b25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkgcm9sbGVkIGJhY2sgaWYg
YW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0aHJvd3MgYW4gZXhjZXB0
aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2YWx1ZS4KK1BBU1MgLSB0
aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2Fj
dGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
ZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3
YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMg
aW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52
b2tlZC4KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlv
bi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4v
c3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0ZDBhN2UyYWE4
MjdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFVuY2F1
Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRo
aXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zY2Q5
ZGNmZmYwNTk4YjRjODk5NTJmM2JhMzU4ZmM3OGQzZmI4MGNmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmplY3Q+CitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJh
bnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNz
IG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24g
ZmFpbHVyZS4KK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBj
YWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFp
bGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCitU
ZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNh
bGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJh
Y2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2Ug
OiBTVUNDRVNTCitBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmct
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MjliZDhkOTFhOTk1
N2YzMjVjMzgwYmQyOTAxOWNiODBkZTExNzIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uv
cXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBA
QAotVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2Vk
IHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0
byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMu
Ci1UaGUgdGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNlcywgc2V0cyB0aGUgcXVvdGEgZm9yIHRoZSBv
cmlnaW4gdG8gNDBrLCB0aGVuIHRyaWVzIHRvIGluc2VydCAxN2sgb2YgZGF0YSBpbnRvIHR3byBk
YXRhYmFzZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFubmVkLCB0aGUgc2Vjb25kIGluc2VydCBzaG91
bGQgZmFpbCwgdGhlIFVJIERlbGVnYXRlIHNob3VsZCBiZSBpbmZvcm1lZCBvZiB0aGUgZXhjZWVk
ZWQgcXVvdGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0aGUgcXVvdGEgZm9yIHRoaXMgb3JpZ2luLiBJ
bnNlcnRpbmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJkIHRpbWUgc2hvdWxkIHN1Y2NlZWQgYWdhaW4u
Ci1BZGRpbmcgYSB0YWJsZQotSW5zZXJ0aW5nIHNvbWUgZGF0YQotRG9uZSBhZGRpbmcgZGF0YQot
QWRkaW5nIGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLUV4cGVjdGVkIHF1b3RhIGV4Y2Vw
dGlvbiAtIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmluZyBzdG9yYWdlIHNwYWNlLCBvciB0
aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhlIHVzZXIgZGVjbGluZWQgdG8gYWxs
b3cgbW9yZSBzcGFjZQotRG9uZSBhZGRpbmcgZGF0YQotQWRkaW5nIGEgdGFibGUKLUluc2VydGlu
ZyBzb21lIGRhdGEKLVVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2gg
cmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRoZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVk
IGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxvdyBtb3JlIHNwYWNlCi1UZXN0IENvbXBsZXRl
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvc3Fs
LWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOWE2MjZiY2MzMjQyZDAxMDA5MjczMTM1M2M3NmRjMmNmNGJlZWQ1Yy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMzc6IFVu
Y2F1Z2h0IEV4Y2VwdGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjk6IFVuY2F1Z2h0IENhbm5vdCBjYWxsIHRvU3RyaW5nKCkgb24gdGhp
cyBvYmplY3QuCi1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4
Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUg
VU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VS
UgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZTlRBWF9FUlIKLVBBU1M6IGV4
cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCi1QQVNTOiBleHBlY3RlZCBhbmQg
Z290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3Ig
Y29kZSBRVU9UQV9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBWRVJTSU9O
X0VSUgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdl
L3dlYnNxbC9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODI5YmQ4ZDkxYTk5NTdmMzI1YzM4MGJkMjkwMTljYjgwZGUxMTcyMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3Fs
L3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUaGlzIHRlc3Qg
Y2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5mb3JjZWQgcGVyLW9yaWdpbiBp
bnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHByaW9yIHRvIGh0dHA6Ly90cmFj
LndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8yOTk4My4KK1RoZSB0ZXN0IGNs
ZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3IgdGhlIG9yaWdpbiB0byA0MGss
IHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8gdHdvIGRhdGFiYXNlcy4gSWYg
dGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0IHNob3VsZCBmYWlsLCB0aGUg
VUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBleGNlZWRlZCBxdW90YSBhbmQg
c2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmlnaW4uIEluc2VydGluZyAxN2sg
b2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBhZ2Fpbi4KK0FkZGluZyBhIHRh
YmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJs
ZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEgZXhjZXB0aW9uIC0gdGhlcmUg
d2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRoZSBzdG9yYWdlIHF1
b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxvdyBtb3JlIHNwYWNl
CitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQor
VW5leHBlY3RlZCBleGNlcHRpb24gLSB0aGVyZSB3YXMgbm90IGVub3VnaCByZW1haW5pbmcgc3Rv
cmFnZSBzcGFjZSwgb3IgdGhlIHN0b3JhZ2UgcXVvdGEgd2FzIHJlYWNoZWQgYW5kIHRoZSB1c2Vy
IGRlY2xpbmVkIHRvIGFsbG93IG1vcmUgc3BhY2UKK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9y
LWNvZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3Jh
Z2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE2MjZi
Y2MzMjQyZDAxMDA5MjczMTM1M2M3NmRjMmNmNGJlZWQ1YwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rl
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDM3
OiBVbmNhdWdodCBFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0aW9uIGNhbGxiYWNrLgorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDY5OiBVbmNhdWdodCBDYW5ub3QgY2FsbCB0b1N0cmluZygpIG9u
IHRoaXMgb2JqZWN0LgorVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJvciBjb2RlcyByZXBvcnRlZCBp
biBleGNlcHRpb25hbCBzaXR1YXRpb25zLgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBj
b2RlIFVOS05PV05fRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9X
Tl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCitQQVNT
OiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VSUgorUEFTUzogZXhwZWN0ZWQg
YW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVy
cm9yIGNvZGUgUVVPVEFfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVkVS
U0lPTl9FUlIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0CmluZGV4IDBlMTE4OWFmZjgyNDRkMzYyZjE1NGY4NzYzZTMyNTk0NWI5
ZDBlY2EuLjExZjQ2OTJhZDYwODM4MWI5YWYxZmJhZjViMWM0MWViNjg1OWY1ZmQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQK
QEAgLTU3NSw3ICs1NzUsNyBAQCBXT05URklYIFNLSVAgOiBwbHVnaW5zL3ByaXZhdGUtYnJvd3Np
bmctbW9kZS5odG1sID0gRkFJTAogV09OVEZJWCBTS0lQIDogcGx1Z2lucy9wcml2YXRlLWJyb3dz
aW5nLW1vZGUtMi5odG1sID0gVEVYVAogV09OVEZJWCBTS0lQIDogc3RvcmFnZS9kb21zdG9yYWdl
L2xvY2Fsc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLWFmZmVjdHMtc3RvcmFnZS5odG1sID0gRkFJ
TAogV09OVEZJWCBTS0lQIDogc3RvcmFnZS9kb21zdG9yYWdlL3Nlc3Npb25zdG9yYWdlL3ByaXZh
dGUtYnJvd3NpbmctYWZmZWN0cy1zdG9yYWdlLmh0bWwgPSBGQUlMCi1XT05URklYIFNLSVAgOiBz
dG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbCA9IFBBU1MKK1dPTlRG
SVggU0tJUCA6IHN0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUu
aHRtbCA9IFBBU1MKIAogLy8gV2UgZG9uJ3QgbGV0IGFueW9uZSBzZXQgc3RhdHVzIGluIHRoZSBi
cm93c2VyLgogV09OVEZJWCBTS0lQIDogcGx1Z2lucy9zZXQtc3RhdHVzLmh0bWwgPSBURVhUCkBA
IC0xMDg3LDcgKzEwODcsNyBAQCBCVUdDUjMzMjExIFdJTiBERUJVRyA6IGh0dHAvdGVzdHMvbG9h
ZGluZy9kZWxldGVkLWhvc3QtaW4tcmVzb3VyY2UtbG9hZC1kZWxlZ2F0ZQogQlVHQ1IzMzIxMSBM
SU5VWCBNQUMgOiBodHRwL3Rlc3RzL2xvYWRpbmcvZGVsZXRlZC1ob3N0LWluLXJlc291cmNlLWxv
YWQtZGVsZWdhdGUtY2FsbGJhY2suaHRtbCA9IFRJTUVPVVQKIAogLy8gSFRNTDUgREIgbGF5b3V0
IHRlc3RzCi1CVUdDUjI3Njk3IFNLSVAgOiBzdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0
bWwgPSBQQVNTCitCVUdDUjI3Njk3IFNLSVAgOiBzdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13
aXRoLXhoci5odG1sID0gUEFTUwogCiAvLyBJbXBsZW1lbnRhdGlvbiBvZiBEYXRlL3RpbWUgaW5w
dXQgdHlwZXMgYXJlIGluY29tcGxldGUgYW5kCiAvLyBFTkFCTEVfSU5QVVRfVFlQRV8qIGZsYWdz
IGFyZSBub3QgZW5hYmxlZC4KQEAgLTE4NzMsNyArMTg3Myw3IEBAIEJVR19KQVBIRVQgV0lOIDog
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC01MG1zLWRvd25sb2FkLWRp
c3BhdGNoCiAvLyBEdWUgdG8gdGhlIGRpZmZlcmVuY2VzIGluIGhhbmRsaW5nIHRleHQgZW5jb2Rp
bmdzIGluIEtVUkwgYW5kIGdvb2dsZXVybC4KIEJVR1dLMjA1NTkgOiBodHRwL3Rlc3RzL25hdmln
YXRpb24vYW5jaG9yLWZyYW1lcy1nYmsuaHRtbCA9IFRFWFQKIAotQlVHV0szNjY2NiA6IHN0b3Jh
Z2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwgPSBURVhUCitCVUdXSzM2NjY2IDogc3Rv
cmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwgPSBURVhUCiAKIEJVR1dL
MzcyODMgOiBmYXN0L292ZXJmbG93L3Njcm9sbGJhci1yZXN0b3JlZC1hbmQtdGhlbi1sb2NrZWQu
aHRtbCA9IFRFWFQKIApAQCAtMjExOSw3ICsyMTE5LDcgQEAgQlVHV0s2MzA1NyBSRUxFQVNFIDog
cGVyZi9hZGRpbmctcmFkaW8tYnV0dG9ucy5odG1sID0gTUlTU0lORyBGQUlMIFBBU1MKIC8vIEZh
aWxpbmcgYWZ0ZXIgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNjU2NjUvCiAKIC8v
IG5ldyBvciBmYWlsaW5nIHNpbmNlIFdlYktpdCByZXYuIDY1NzQwOjY1ODAwCi1CVUdDUjUzMDcz
IFNLSVAgREVCVUcgOiBzdG9yYWdlL2NoYW5nZS12ZXJzaW9uLmh0bWwgPSBQQVNTIENSQVNICitC
VUdDUjUzMDczIFNLSVAgREVCVUcgOiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi5odG1s
ID0gUEFTUyBDUkFTSAogCiAvLyByNjYxNDQgYWRkZWQgdGVzdHMgdG8gdGVzdCB1c2VyIHNjcmlw
dHMgb24gc3BlY2lhbCBkb2N1bWVudHMsIGFuZCBMaW51eCBjYW4ndAogLy8gcGFzcyB0aGVtIGJl
Y2F1c2UgdGhleSByZWx5IG9uIFF1aWNrVGltZSBiZWluZyBpbnN0YWxsZWQuIFdlIHdvbnRmaXgg
dGhlc2UKQEAgLTM1NDIsOSArMzU0Miw5IEBAIEJVR1dLODIxMjkgTUFDIDogZmFzdC9ibG9jay9s
aW5lYm94Y29udGFpbi9nbHlwaHMuaHRtbCA9IFRFWFQKIAogQlVHV0s4MjY2OSBMSU5VWCBXSU4g
TEVPUEFSRCA6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3NwYWNlcy1jb21iaW5lZC1pbi12ZXJ0
aWNhbC10ZXh0Lmh0bWwgPSBURVhUCiAKLUJVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdl
L3F1b3RhLXRyYWNraW5nLmh0bWwgPSBQQVNTIFRJTUVPVVQKLUJVR1dLODI3MTcgU05PV0xFT1BB
UkQgOiBzdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbCA9
IFBBU1MgVElNRU9VVAotQlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6IHN0b3JhZ2UvZGF0YWJhc2Ut
bG9jay1hZnRlci1yZWxvYWQuaHRtbCA9IFBBU1MgVElNRU9VVAorQlVHV0s4MjcxNyBTTk9XTEVP
UEFSRCA6IHN0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLmh0bWwgPSBQQVNTIFRJTUVPVVQK
K0JVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2Vw
dHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwgPSBQQVNTIFRJTUVPVVQKK0JVR1dLODI3MTcgU05P
V0xFT1BBUkQgOiBzdG9yYWdlL3dlYnNxbC9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1s
ID0gUEFTUyBUSU1FT1VUCiAKIC8vIFRoZXNlIHRlc3RzIGRlcGVuZHMgb24gV29ya2VyIGJlaGF2
aW9yIHRoYXQgaXMgYnJva2VuIGluIERSVAogQlVHV0s4Mjc3NiBTS0lQIDogc3RvcmFnZS9pbmRl
eGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC5odG1sID0gUEFTUyBGQUlMCkBAIC0zNzI4LDgg
KzM3MjgsOCBAQCBCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVBU0UgOiBodHRwL3Rlc3RzL2xv
YWRpbmcvMzA3LWFmdGVyLTMwMy1hZnRlci1wb3N0Lmh0bQogQlVHV0s4MzA3NiBTTk9XTEVPUEFS
RCBSRUxFQVNFIDogaHR0cC90ZXN0cy9taXNjL29iamVjdC1lbWJlZGRpbmctc3ZnLWRlbGF5ZWQt
c2l6ZS1uZWdvdGlhdGlvbi54aHRtbCA9IFRJTUVPVVQgUEFTUwogQlVHV0s4MzA3NiBTTk9XTEVP
UEFSRCBSRUxFQVNFIDogcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC50ZXh0LWN1c3RvbS1mb250LWxvYWQtY3Jhc2guaHRtbCA9IFRJTUVPVVQgUEFT
UwogQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogcGxhdGZvcm0vY2hyb21pdW0vdmly
dHVhbC9ncHUvZmFzdC9jYW52YXMvMmQudGV4dC5kcmF3LmZpbGwubWF4V2lkdGguZ3JhZGllbnQu
aHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogc3Rv
cmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuaHRtbCA9
IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogc3RvcmFnZS9y
ZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sID0gVElNRU9VVCBQQVNT
CitCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVBU0UgOiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFu
ZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuaHRtbCA9IFRJTUVPVVQgUEFT
UworQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogc3RvcmFnZS93ZWJzcWwvcmVhZC10
cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbCA9IFRJTUVPVVQgUEFTUwogCiAv
LyBicm9rZW4gaW4vYWZ0ZXIgcjExNTY0NgogQlVHV0s4NjQxNCA6IGZhc3QvbG9hZGVyL2phdmFz
Y3JpcHQtdXJsLWluLWVtYmVkLmh0bWwgPSBURVhUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwvdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
ZWZsL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA2ZDE5ZjlhM2I1NzNmMjRlZmE0ZTQ3MGY0
ZGQ5OTkyMzdmNjY3OGI0Li5iNzM3MjM0NGNmOWQ3ZmJhYTNjMWJjMDU4ZWY5ODIyMWY0ZjljNGJi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvdGVzdF9leHBlY3RhdGlvbnMu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC90ZXN0X2V4cGVjdGF0aW9ucy50eHQK
QEAgLTc2LDEyICs3NiwxMiBAQCBCVUdXS0VGTCBTS0lQIDogc3RvcmFnZS9kb21zdG9yYWdlL2xv
Y2Fsc3RvcmFnZS9zdG9yYWdldHJhY2tlciA9IEZBSUwKIAogLy8gRUZMJ3MgTGF5b3V0VGVzdENv
bnRyb2xsZXIgZG9lcyBub3QgaW1wbGVtZW50IGV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxk
LgogQlVHV0tFRkwgU0tJUCA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZCA9IEZB
SUwKLUJVR1dLRUZMIFNLSVAgOiBzdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKLUJVR1dLRUZMIFNLSVAgOiBzdG9yYWdlL3N0
YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0tF
RkwgU0tJUCA6IHN0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQuaHRtbCA9IEZBSUwKLUJVR1dLRUZMIFNLSVAgOiBzdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCi1CVUdXS0VGTCBTS0lQIDogc3RvcmFnZS90
cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVH
V0tFRkwgU0tJUCA6IHN0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRl
ZC13b3JsZC5odG1sID0gRkFJTAorQlVHV0tFRkwgU0tJUCA6IHN0b3JhZ2Uvd2Vic3FsL29wZW4t
ZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JV
R1dLRUZMIFNLSVAgOiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLRUZMIFNLSVAgOiBzdG9yYWdlL3dlYnNxbC9z
dGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAorQlVH
V0tFRkwgU0tJUCA6IHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLmh0bWwgPSBGQUlMCitCVUdXS0VGTCBTS0lQIDogc3RvcmFnZS93ZWJzcWwvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLRUZM
IFNLSVAgOiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLmh0bWwgPSBGQUlMCiAKIC8vIEVGTCdzIExheW91dFRlc3RDb250cm9sbGVyIGRv
ZXMgbm90IGltcGxlbWVudCBsYXllclRyZWVBc1RleHQKIEJVR1dLODIyOTQgOiBjb21wb3NpdGlu
Zy9hbmltYXRpb24vYW5pbWF0aW9uLWNvbXBvc2l0aW5nLmh0bWwgPSBURVhUCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjOTM5ZTM2NTBjNTU3M2ZiOWY4ZGQwNzZlZGMyMTkyZjk4N2Y3MWVl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsNCArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hh
bmdlVmVyc2lvbigpIGZ1bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgotRmluaXNoZWQgdGVzdHMg
d2l0aCB2ZXJzaW9uIDM7IGV4cGVjdGVkIHZlcnNpb246IDMKLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUt
cmV1c2UtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjc2NDgx
YjM0ZWMyODU2MWRlMDI3MjM0YzU5N2Y5ZTRmODlhMTUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNp
b24taGFuZGxlLXJldXNlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBA
QAotVGhpcyB0ZXN0cyB0aGF0IGEgZGF0YWJhc2UgY2FuIGJlIGFjY2Vzc2VkIGFmdGVyIGNoYW5n
aW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hvdWxkIHNlZSBhbiBlcnJvciBhYm91dCBGb29CYXIgdGFi
bGUgYmVsb3csIG5vdCBhYm91dCBtaXNtYXRjaGluZyB2ZXJzaW9ucy4KLWNoYW5nZVZlcnNpb246
IHRyYW5zYWN0aW9uIGNhbGxiYWNrCi1jaGFuZ2VWZXJzaW9uOiBzdWNjZXNzIGNhbGxiYWNrCi10
cmFuc2FjdGlvbjogc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrOiBjb3VsZCBub3QgcHJlcGFyZSBz
dGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogRm9vQmFyKQotVEVTVCBDT01QTEVURS4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2Uu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmM2ZiZjQ4NGQ3YTg1YTM0OTBiNTE1
YjcwODk1NDRhZWUwODZmYTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2Uu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPiAKLTxoZWFkPgotPHNj
cmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9ImNoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
IAotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKSI+IAotPGRpdj5UaGlzIHRlc3RzIHRo
YXQgYSBkYXRhYmFzZSBjYW4gYmUgYWNjZXNzZWQgYWZ0ZXIgY2hhbmdpbmcgaXRzIHZlcnNpb24u
IFlvdSBzaG91bGQgc2VlIGFuIGVycm9yIGFib3V0IEZvb0JhciB0YWJsZSBiZWxvdywgbm90IGFi
b3V0IG1pc21hdGNoaW5nIHZlcnNpb25zLgotPHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTog
dGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+IAotPC9ib2R5PiAKLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0N2E1OGMzYjkxZmYyYzUwODBmMmM5MjBhNWQ0MWFiY2I1
Y2UyYTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMKKysrIC9kZXYv
bnVsbApAQCAtMSw0NiArMCwwIEBACi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAgICBsb2co
IlRFU1QgQ09NUExFVEUuIik7Ci0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0
aW9uIHJ1blRlc3QoKQotewotICAgIHRyeSB7Ci0gICAgICAgIGRiID0gb3BlbkRhdGFiYXNlV2l0
aFN1ZmZpeCgiQ2hhbmdlVmVyc2lvbiIsICIiLCAiVGVzdCB0aGF0IGNoYW5naW5nIGEgZGF0YWJh
c2UgdmVyc2lvbiBkb2Vzbid0IGtpbGwgb3VyIGhhbmRsZSB0byBpdCIsIDEpOwotICAgICAgICB2
YXIgdmVyc2lvbiA9IGRiLnZlcnNpb247Ci0gICAgICAgIHZhciBuZXdWZXJzaW9uID0gdmVyc2lv
biA/IChwYXJzZUludCh2ZXJzaW9uKSArIDEpLnRvU3RyaW5nKCkgOiAiMSI7IAotICAgICAgICBk
Yi5jaGFuZ2VWZXJzaW9uKHZlcnNpb24sIG5ld1ZlcnNpb24sIGZ1bmN0aW9uKHR4KSB7Ci0gICAg
ICAgICAgICBsb2coImNoYW5nZVZlcnNpb246IHRyYW5zYWN0aW9uIGNhbGxiYWNrIik7Ci0gICAg
ICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICBsb2coImNoYW5nZVZlcnNpb246
IGVycm9yIGNhbGxiYWNrOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgIH0sIGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBzdWNjZXNzIGNhbGxiYWNrIik7
Ci0gICAgICAgICAgICBydW5UZXN0MigpOwotICAgICAgICB9KTsKLSAgICAgICAgCi0gICAgfSBj
YXRjaCAoZSkgewotICAgICAgICBsb2coImNoYW5nZVZlcnNpb24gZXhjZXB0aW9uOiAiICsgZSk7
Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9Ci19Ci0gCi1mdW5jdGlvbiBydW5UZXN0Migp
Ci17Ci0gICAgdHJ5IHsKLSAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAg
ICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAqIGZyb20gRm9vQmFyIiwgW10sIGZ1bmN0
aW9uKHR4KSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJ0cmFuc2FjdGlvbjogc3RhdGVtZW50IGNh
bGxiYWNrIik7Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgfSwg
ZnVuY3Rpb24odHgsIGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJ0cmFuc2FjdGlvbjog
c3RhdGVtZW50IGVycm9yIGNhbGxiYWNrOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAg
ICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0g
Y2F0Y2ggKGUpIHsKLSAgICAgICAgbG9nKCJ0cmFuc2FjdGlvbiBleGNlcHRpb246ICIgKyBlKTsK
LSAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0KLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1v
bi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGJiMGQ1NDljYjBjZDQ3ZGZhODY2MWU2ZTZjNTk4OTA0M2I5OWMzMzEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLVRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJzaW9uKCkncyBwcmVmbGln
aHQgc3RlcCBmYWlscy4KLVBBU1M6IGRiLmNoYW5nZVZlcnNpb24oKSBmYWlsZWQgYXMgZXhwZWN0
ZWQsIGFuZCBubyBhc3NlcnRpb25zIHdlcmUgdHJpZ2dlcmVkLgotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWls
dXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9u
LXByZWZsaWdodC1mYWlsdXJlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJh
NTEyZmI5YWM5MWRmYjRkYTJjOGYyZTgzNmRiYzUwODc2NTkxMjAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2Ut
dmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMzYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBmaW5p
c2hUZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGxvZyht
ZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJU
ZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7Ci0gICAgfQotCi0gICAgdmFyIGRiID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiQ2hh
bmdlVmVyc2lvbkZhaWx1cmVUZXN0IiwgIjEiLCAiVGVzdCB0aGUgcHJlZmxpZ2h0IHN0ZXAiLCAx
MDI0KTsKLSAgICBkYi5jaGFuZ2VWZXJzaW9uKCIyIiwgIjMiLCBudWxsLCBmdW5jdGlvbihlcnJv
cikgewotICAgICAgICBsb2coIlBBU1M6IGRiLmNoYW5nZVZlcnNpb24oKSBmYWlsZWQgYXMgZXhw
ZWN0ZWQsIGFuZCBubyBhc3NlcnRpb25zIHdlcmUgdHJpZ2dlcmVkLiIpOwotICAgICAgICBmaW5p
c2hUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGxvZygiRkFJTDogZGIuY2hh
bmdlVmVyc2lvbigpIHdhcyBleHBlY3RlZCB0byBmYWlsLiIpOwotICAgICAgICBmaW5pc2hUZXN0
KCk7Ci0gICAgfSk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpOyI+Ci1UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBubyBhc3NlcnRpb24gaXMgdHJpZ2dlcmVk
IHdoZW4gY2hhbmdlVmVyc2lvbigpJ3MgcHJlZmxpZ2h0IHN0ZXAgZmFpbHMuCi08cHJlIGlkPSJj
b25zb2xlIj48L3ByZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdl
LXZlcnNpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzliYjlkZjU4OGI5
NGNkZGMwM2IyZjc5YWM5YWE0ZjA2NjQ2Yjk1YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTx0aXRs
ZT5UZXN0IGRhdGFiYXNlLmNoYW5nZVZlcnNpb248L3RpdGxlPgotPHNjcmlwdD4KLXZhciBkYjE7
Ci12YXIgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9ISVhJRV9URVNUID0gJzInOwotdmFyIEVYUEVD
VEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEID0gJzMnOwotCi1mdW5jdGlvbiBlbXB0eUZ1bmN0aW9u
KCkgeyB9Ci0KLWZ1bmN0aW9uIGNoYW5nZVZlcnNpb25DYWxsYmFjayh0eCkKLXsKLSAgICB0eC5l
eGVjdXRlU3FsKCJEUk9QIHRhYmxlIGlmIGV4aXN0cyBpbmZvOyIsIFtdLCBlbXB0eUZ1bmN0aW9u
LCBlbXB0eUZ1bmN0aW9uKTsKLSAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgdGFibGUgaWYgbm90
IGV4aXN0cyBpbmZvICh2ZXJzaW9uIElOVEVHRVIpOyIsIFtdLCBlbXB0eUZ1bmN0aW9uLCBlbXB0
eUZ1bmN0aW9uKTsKLSAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgaW50byBpbmZvIHZhbHVlcyg/
KTsiLCBbRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQURdLCBlbXB0eUZ1bmN0aW9uLCBlbXB0
eUZ1bmN0aW9uKTsKLX0KLQotZnVuY3Rpb24gY2hhbmdlVmVyc2lvblN1Y2Nlc3MoKQotewotICAg
IGxvZygiU3VjY2Vzc2Z1bGx5IGNoYW5nZWQgdmVyc2lvbiB0byAiICsgZGIxLnZlcnNpb24gKyAi
LiBSZWxvYWRpbmcuIik7Ci0gICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cubG9jYXRp
b24gKyAnPzInOwotfQotCi1mdW5jdGlvbiBjaGFuZ2VWZXJzaW9uRXJyb3IoZXJyb3IpCi17Ci0g
ICAgbG9nKCJFcnJvcjogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlzaFRlc3QoKTsKLX0K
LQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAg
IGxvZygiVEVTVCBDT01QTEVURSIpOwotfQotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdl
ICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sb2Nh
dGlvbi5zZWFyY2ggPT0gIj8yIikgewotICAgICAgICBkYjEgPSB3aW5kb3cub3BlbkRhdGFiYXNl
KCJjaGFuZ2V2ZXJzaW9uLXRlc3QiLCAiIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VW
ZXJzaW9uKCkgZnVuY3Rpb24iLCAxMDI0KTsKLSAgICAgICAgbG9nKCJGaW5pc2hlZCB0ZXN0cyB3
aXRoIHZlcnNpb24gIiArIGRiMS52ZXJzaW9uICsgIjsgZXhwZWN0ZWQgdmVyc2lvbjogIiArIEVY
UEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEKTsKLQotICAgICAgICAvLyBSZXNldCB0aGUgREIg
dmVyc2lvbiBvciB0aGUgbmV4dCBydW4gbWlnaHQgZmFpbC4KLSAgICAgICAgZGIxLmNoYW5nZVZl
cnNpb24oZGIxLnZlcnNpb24sICIxIik7Ci0KLSAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0g
ZWxzZQotICAgICAgICB0ZXN0UGFydDEoKTsKLX0KLQotZnVuY3Rpb24gdGVzdFBhcnQxKCkgewot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7Ci0gICAgfQotCi0gICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdl
dmVyc2lvbi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24o
KSBmdW5jdGlvbiIsIDEwMjQpOwotICAgIHZhciBkYjIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJj
aGFuZ2V2ZXJzaW9uLXRlc3QiLCAiMSIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVy
c2lvbigpIGZ1bmN0aW9uIiwgMTAyNCk7Ci0KLSAgICAvLyBGaXJzdCBydW4gSGl4aWUncyB0ZXN0
IHRvIGVuc3VyZSBiYXNpYyBjaGFuZ2VWZXJzaW9uIGZ1bmN0aW9uYWxpdHkgd29ya3MgKHNlZSBi
dWcgMjg0MTgpLgotICAgIGRiMS5jaGFuZ2VWZXJzaW9uKCIxIiwgRVhQRUNURURfVkVSU0lPTl9B
RlRFUl9ISVhJRV9URVNULCBudWxsLCBmdW5jdGlvbiAoZSkgewotICAgICAgICBsb2coIkZBSUwg
aW4gY2hhbmdlVmVyc2lvbjoiICsgZSk7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9LCBm
dW5jdGlvbiAoKSB7Ci0gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdmVyc2lvbiBjaGFuZ2UgaGFz
IHByb3BhZ2F0ZWQgdG8gZGIyIHRvby4KLSAgICAgICAgLy8gQWxsIHRyYW5zYWN0aW9ucyBvbiBk
YjIgc2hvdWxkIGZhaWwuCi0gICAgICAgIGlmIChkYjIudmVyc2lvbiAhPSBkYjEudmVyc2lvbikg
ewotICAgICAgICAgICAgbG9nKCJGQUlMOiBjaGFuZ2luZyBkYjEncyB2ZXJzaW9uICgiICsgZGIx
LnZlcnNpb24gKyAiKSBkaWQgbm90IGNoYW5nZSBkYjIncyB2ZXJzaW9uICgiICsgZGIyLnZlcnNp
b24gKyAiKSBhcyBleHBlY3RlZC4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAg
ICAgfQotICAgICAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIp
OwotICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeyB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAg
ICAgIGxvZygiRkFJTDogVGhlIERCIHZlcnNpb24gY2hhbmdlZCwgYWxsIHRyYW5zYWN0aW9ucyBv
biBkYjIgc2hvdWxkIGZhaWwuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAg
IH0pOwotCi0gICAgICAgIC8vIE1ha2Ugc3VyZSBhbnkgbmV3IGhhbmRsZSB0byB0aGUgc2FtZSBE
QiBzZWVzIHRoZSBuZXcgdmVyc2lvbgotICAgICAgICB0cnkgewotICAgICAgICAgICAgdmFyIGRi
MyA9IG9wZW5EYXRhYmFzZSgiY2hhbmdlLXZlcnNpb24tdGVzdCIsIEVYUEVDVEVEX1ZFUlNJT05f
QUZURVJfSElYSUVfVEVTVCwgIiIsIDApOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAg
ICAgICBsb2coIkZBSUwgaW4gb3BlbkRhdGFiYXNlOiAiICsgZSk7Ci0gICAgICAgICAgICBmaW5p
c2hUZXN0KCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGRiMS52ZXJzaW9uICE9IGRiMy52ZXJz
aW9uKSB7Ci0gICAgICAgICAgICBsb2coIkZBSUw6IGRiLnZlcnNpb24oIiArIGRiMS52ZXJzaW9u
ICsgIikgZG9lcyBub3QgbWF0Y2ggZGIzLnZlcnNpb24oIiArIGRiMy52ZXJzaW9uICsiKSIpOwot
ICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gTm93IHRy
eSBhIHRlc3QgdG8gZW5zdXJlIHRoZSB2ZXJzaW9uIHBlcnNpc3RzIGFmdGVyIHJlbG9hZGluZyAo
c2VlIGJ1ZyAyNzgzNikKLSAgICAgICAgZGIxLmNoYW5nZVZlcnNpb24oRVhQRUNURURfVkVSU0lP
Tl9BRlRFUl9ISVhJRV9URVNULCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX1JFTE9BRCwgY2hhbmdl
VmVyc2lvbkNhbGxiYWNrLCBjaGFuZ2VWZXJzaW9uRXJyb3IsIGNoYW5nZVZlcnNpb25TdWNjZXNz
KTsKLSAgICB9KTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0
KCk7Ij4KLVRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBKUyBkYXRhYmFzZS5jaGFuZ2VWZXJz
aW9uKCkgZnVuY3Rpb24gd29ya3MgYXMgZXhwZWN0ZWQuCi08cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2xv
c2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
Y2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMmFhZDkwYzE2MjllNTBiMGU2MDUyY2Y4YjZlNDdlMTNlMTAxYzAyMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw1ICswLDAgQEAKLVNob3VsZCBub3QgY3Jhc2ggb3IgY2F1c2UgYW4gYXNzZXJ0aW9u
IGZhaWx1cmUuCi0KLUEgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25zb2xlIGlzIGV4cGVj
dGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVkIHdoZW4gY2xvc2lu
ZyBhIGZyYW1lLiBJdCBhY3R1YWxseSBoZWxwcyB0byBjYXVzZSBkYXRhYmFzZSBhY3Rpdml0eSBi
eSB0aHJvd2luZyBhbiBleGNlcHRpb24gZnJvbSBhIGNhbGxiYWNrLgotCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1Y2M1MmZkOTU1MGQ5OWU0NGFiODYzMGZjNjcwMmVkOTQyODg1
N2UyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwxOSArMCwwIEBACi08Ym9keT4KLTxwPlNob3VsZCBub3QgY3Jhc2ggb3IgY2F1c2Ug
YW4gYXNzZXJ0aW9uIGZhaWx1cmUuPC9wPgotPHA+QSBKYXZhU2NyaXB0IGZhaWx1cmUgb24gdGhl
IGNvbnNvbGUgaXMgZXhwZWN0ZWQsIGhvd2V2ZXIsIGFzIHRoZSBnbG9iYWwgb2JqZWN0IGlzIGNs
ZWFyZWQgd2hlbiBjbG9zaW5nIGEgZnJhbWUuCi1JdCBhY3R1YWxseSBoZWxwcyB0byBjYXVzZSBk
YXRhYmFzZSBhY3Rpdml0eSBieSB0aHJvd2luZyBhbiBleGNlcHRpb24gZnJvbSBhIGNhbGxiYWNr
LjwvcD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKLX0KLQotZnVuY3Rpb24gc3RhcnRUZXN0KCkKLXsKLSAgICBz
ZXRUaW1lb3V0KCJkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaWZyYW1lJylbMF0uc3Jj
ID0gJ2Fib3V0OmJsYW5rJyIsIDEwMCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgc2V0VGltZW91dCgibGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpIiwgNTAwKTsKLX0KLTwvc2NyaXB0PgotPGlmcmFtZSBzcmM9InJlc291cmNlcy9zdHJlc3Mt
ZnJhbWUuaHRtbCIgb25sb2FkPSJzdGFydFRlc3QoKSI+PC9pZnJhbWU+Ci08L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxv
YWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNzI5NTYzYWI4
MDhjYjNkYmVkNzcyNTJlN2U0MDIxMmI1MGNkMzIyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1h
ZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1J
bnNlcnRpbmcgc29tZSBkYXRhCi1UZXN0IHBhcnQgMiBDb21wbGV0ZQotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViNTk4OWY3ODAyNTdjZmQzYmE0OTk5NTg1ZTRlNTc2NTIx
MmIxNTAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNjcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlv
biBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIp
LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0
KCkKLXsKLSAgICBsb2coIlRlc3QgcGFydCAxIENvbXBsZXRlIik7Ci0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOwotfQotCi1mdW5jdGlvbiBlcnJvckZ1bmN0aW9uKGVycm9yKQotewotICAgIGxvZygi
VGVzdCBmYWlsZWQgLSAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgZmluaXNoVGVzdCgpOwotfQot
Ci1mdW5jdGlvbiBhZGREYXRhKGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7Ci0gICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOwotICAgICAgICAvLyBMb2Fk
IGEgbmV3IHBhZ2Ugd2hpbGUgdGhlIHRyYW5zYWN0aW9uIGlzIHN0aWxsIGluIHByb2dyZXNzLCBp
bnRlcnJ1cHRpbmcgdGhlIHRyYW5zYWN0aW9uLgotICAgICAgICAvLyBUaGlzIHNob3VsZCBub3Qg
bGVhdmUgdGhlIGRhdGFiYXNlIGxvY2tlZCBhbmQgb24gdGhlIG5leHQgcGFnZSB3ZSBzaG91bGQg
YmUgYWJsZSB0byBpbnNlcnQKLSAgICAgICAgLy8gc29tZSBtb3JlIGRhdGEuCi0gICAgICAgIHR4
LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTIChaRVJP
QkxPQig1MjQyMDApKSIsIFtdLAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyBs
b2NhdGlvbi5ocmVmID0gIi4vcmVzb3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIu
aHRtbCI7IH0sCi0gICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgZXJyb3JGdW5jdGlv
bihlcnJvcik7IH0pOwotICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVz
dCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0IoNTI0MjAwKSkiKTsKLSAgICB9LCBlcnJvckZ1
bmN0aW9uLCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKLX0KLQotZnVuY3Rpb24gcnVu
VGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB2YXIgZGF0YWJhc2U7Ci0gICAgdHJ5
IHsKLSAgICAgICAgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rlc3QiLCAi
MS4wIiwgIlRlc3QgZm9yIGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKLSAgICB9IGNhdGNo
IChlKSB7Ci0gICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qgb3BlbiBkYXRhYmFzZSIpOwot
ICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotCi0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHsKLSAgICAgICAgbG9nKCJBZGRpbmcgYSB0YWJsZSIpOwotICAgICAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgRGF0YVRlc3QgKHRlc3REYXRhKSIsIFtdLCBmdW5j
dGlvbih0eCwgcmVzdWx0KSB7IH0sCi0gICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsg
ZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOwotICAgIH0sIGVycm9yRnVuY3Rpb24sIGZ1bmN0aW9u
KCkgeyBhZGREYXRhKGRhdGFiYXNlKTsgfSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9i
b2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0
YXRlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVu
dC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4ZDlkY2E0ZTI3
MzUzNGRiM2Q4MzNiNjk5OTUwZGNiMTUxODRhYmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1FeGVjdXRlZCBhbiBl
bXB0eSBzdGF0ZW1lbnQuIElmIHlvdSBkaWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0
aGUgdGVzdCBwYXNzZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHkt
c3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVudC5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmVjNWI4Y2FjNWU0YTU4MjYwODc2YmI1
MzlmYjhiYWI2MDRjZjQ5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50Lmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSwzNiArMCwwIEBACi08aHRtbD4KLQotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5j
dGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQotCi1mdW5j
dGlvbiBleGVjdXRlRW1wdHlTdGF0ZW1lbnQodHJhbnNhY3Rpb24pCi17Ci0gICAgdHJhbnNhY3Rp
b24uZXhlY3V0ZVNxbCgiIik7Ci0gICAgd3JpdGVNZXNzYWdlVG9Mb2coIkV4ZWN1dGVkIGFuIGVt
cHR5IHN0YXRlbWVudC4gSWYgeW91IGRpZG4ndCBzZWUgYSBjcmFzaCBvciBhc3NlcnRpb24sIHRo
ZSB0ZXN0IHBhc3NlZC4iKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9u
IHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotICAgIHZhciBkYiA9IG9wZW5E
YXRhYmFzZSgiRW1wdHlTdGF0ZW1lbnRUZXN0IiwgIjEuMCIsICJEYXRhYmFzZSBmb3IgYW4gZW1w
dHkgc3RhdGVtZW50IHRlc3QiLCAxKTsKLSAgICBkYi50cmFuc2FjdGlvbihleGVjdXRlRW1wdHlT
dGF0ZW1lbnQpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTMwYjRiZGQ2Y2ZkYmYyZDkyMDM5ZDU1YTI5
ZTkzNjdjNjJkMWFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi1QQVNTLiBleGVjdXRlU3FsKG51bGwpIGRpZCBu
b3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKHVuZGVmaW5lZCkgZGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoMCkgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0
aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgW10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
Ci1QQVNTLiBleGVjdXRlU3FsKCIiLCBbICJhcmcwIiBdKSBkaWQgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyBsZW5ndGg6IDAgfSkgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAxLCAwOiAiYXJnMCIgfSkg
ZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51
bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxs
LCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3Fs
KCIiLCBudWxsLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRl
U3FsKCIiLCBudWxsLCBudWxsLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFT
Uy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFu
IGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgeyB9KSBkaWQgbm90
IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgpIHRocmV3IGFuIGV4Y2VwdGlv
biBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwodGhyb3dPblRvU3RyaW5nT2JqZWN0KSB0
aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCB0aHJv
d09uR2V0TGVuZ3RoT2JqZWN0KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNT
LiBleGVjdXRlU3FsKCIiLCB0aHJvd09uR2V0WmVyb09iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9u
IGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgWyB0aHJvd09uVG9TdHJpbmdPYmpl
Y3QgXSkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgi
IiwgMCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgi
IiwgIiIpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwo
IiIsIG51bGwsIDApIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1
dGVTcWwoIiIsIG51bGwsICIiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNT
LiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhw
ZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAiIikgdGhyZXcgYW4gZXhj
ZXB0aW9uIGFzIGV4cGVjdGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4
ZWN1dGUtc3FsLWFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJn
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWYyYTQzYWJhYTM2N2NkOTVj
YjAyNjhjOWY3NGM5ODZhOTljNWNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJl
eGVjdXRlLXNxbC1hcmdzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJz
ZXR1cEFuZFJ1blRlc3QoKSI+Ci08cHJlIGlkPSJjb25zb2xlIj4gCi1GQUlMVVJFOiB0ZXN0IGRp
ZG4ndCBydW4uCi08L3ByZT4gCi08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZXhlY3V0ZS1zcWwtYXJncy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2I5NDE0
ZGIzY2EzYzgwNTA2MWJkYWM2YWM2YzhmYjdkN2ZjOTAyZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3Fs
LWFyZ3MuanMKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi12YXIgdGhyb3dPblRvU3Ry
aW5nT2JqZWN0ID0geyB9OwotdGhyb3dPblRvU3RyaW5nT2JqZWN0LnRvU3RyaW5nID0gZnVuY3Rp
b24gKCkgeyB0aHJvdyAiQ2Fubm90IGNhbGwgdG9TdHJpbmcgb24gdGhpcyBvYmplY3QuIiB9Owot
Ci12YXIgdGhyb3dPbkdldExlbmd0aE9iamVjdCA9IHsgfTsKLXRocm93T25HZXRMZW5ndGhPYmpl
Y3QuX19kZWZpbmVHZXR0ZXJfXygibGVuZ3RoIiwgZnVuY3Rpb24gKCkgeyB0aHJvdyAiQ2Fubm90
IGdldCBsZW5ndGggb2YgdGhpcyBvYmplY3QuIjsgfSk7Ci0KLXZhciB0aHJvd09uR2V0WmVyb09i
amVjdCA9IHsgbGVuZ3RoOiAxIH07Ci10aHJvd09uR2V0WmVyb09iamVjdC5fX2RlZmluZUdldHRl
cl9fKCIwIiwgZnVuY3Rpb24gKCkgeyB0aHJvdyAiQ2Fubm90IGdldCAwIHByb3BlcnR5IG9mIHRo
aXMgb2JqZWN0LiI7IH0pOwotCi12YXIgZXhwZWN0Tm9FeGNlcHRpb24gPSBbCi0gICAgJ251bGwn
LAotICAgICd1bmRlZmluZWQnLAotICAgICcwJywKLSAgICAnIiInLAotICAgICciIiwgbnVsbCcs
Ci0gICAgJyIiLCB1bmRlZmluZWQnLAotICAgICciIiwgW10nLAotICAgICciIiwgWyAiYXJnMCIg
XScsCi0gICAgJyIiLCB7IH0nLAotICAgICciIiwgeyBsZW5ndGg6IDAgfScsCi0gICAgJyIiLCB7
IGxlbmd0aDogMSwgMDogImFyZzAiIH0nLAotICAgICciIiwgbnVsbCwgbnVsbCcsCi0gICAgJyIi
LCBudWxsLCB1bmRlZmluZWQnLAotICAgICciIiwgbnVsbCwgeyB9JywKLSAgICAnIiIsIG51bGws
IG51bGwsIG51bGwnLAotICAgICciIiwgbnVsbCwgbnVsbCwgdW5kZWZpbmVkJywKLSAgICAnIiIs
IG51bGwsIG51bGwsIHsgfScsCi1dOwotCi12YXIgZXhwZWN0RXhjZXB0aW9uID0gWwotICAgICcn
LAotICAgICd0aHJvd09uVG9TdHJpbmdPYmplY3QnLAotICAgICciIiwgdGhyb3dPbkdldExlbmd0
aE9iamVjdCcsCi0gICAgJyIiLCB0aHJvd09uR2V0WmVyb09iamVjdCcsCi0gICAgJyIiLCBbIHRo
cm93T25Ub1N0cmluZ09iamVjdCBdJywKLSAgICAnIiIsIDAnLAotICAgICciIiwgIiInLAotICAg
ICciIiwgbnVsbCwgMCcsCi0gICAgJyIiLCBudWxsLCAiIicsCi0gICAgJyIiLCBudWxsLCBudWxs
LCAwJywKLSAgICAnIiIsIG51bGwsIG51bGwsICIiJywKLV07Ci0KLWZ1bmN0aW9uIHRyeUV4ZWN1
dGVTcWwodHJhbnNhY3Rpb24sIHBhcmFtZXRlckxpc3QpCi17Ci0gICAgdHJ5IHsKLSAgICAgICAg
ZXZhbCgndHJhbnNhY3Rpb24uZXhlY3V0ZVNxbCgnICsgcGFyYW1ldGVyTGlzdCArICcpJyk7Ci0g
ICAgICAgIHJldHVybiBudWxsOwotICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgewotICAgICAgICBy
ZXR1cm4gZXhjZXB0aW9uOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25UZXN0
KHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0LCBleHBlY3RFeGNlcHRpb24pCi17Ci0gICAgdmFy
IGV4Y2VwdGlvbiA9IHRyeUV4ZWN1dGVTcWwodHJhbnNhY3Rpb24sIHBhcmFtZXRlckxpc3QpOwot
ICAgIGlmIChleHBlY3RFeGNlcHRpb24pIHsKLSAgICAgICAgaWYgKGV4Y2VwdGlvbikKLSAgICAg
ICAgICAgIGxvZygiUEFTUy4gZXhlY3V0ZVNxbCgiICsgcGFyYW1ldGVyTGlzdCArICIpIHRocmV3
IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
bG9nKCIqRkFJTCouIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbiIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChleGNlcHRpb24p
Ci0gICAgICAgICAgICBsb2coIipGQUlMKi4gZXhlY3V0ZVNxbCgiICsgcGFyYW1ldGVyTGlzdCAr
ICIpIHRocmV3IGFuIGV4Y2VwdGlvbjogIiArIGV4Y2VwdGlvbik7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGxvZygiUEFTUy4gZXhlY3V0ZVNxbCgiICsgcGFyYW1ldGVyTGlzdCArICIpIGRp
ZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uIik7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBydW5UcmFu
c2FjdGlvblRlc3RzKHRyYW5zYWN0aW9uKQotewotICAgIGZvciAoaSBpbiBleHBlY3ROb0V4Y2Vw
dGlvbikKLSAgICAgICAgcnVuVHJhbnNhY3Rpb25UZXN0KHRyYW5zYWN0aW9uLCBleHBlY3ROb0V4
Y2VwdGlvbltpXSwgZmFsc2UpOwotICAgIGZvciAoaSBpbiBleHBlY3RFeGNlcHRpb24pCi0gICAg
ICAgIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0RXhjZXB0aW9uW2ldLCB0
cnVlKTsKLQotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgp
Ci17Ci0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJFeGVjdXRlU1FMQXJn
c1Rlc3QiLCAiMS4wIiwgIlRlc3Qgb2YgaGFuZGxpbmcgb2YgdGhlIGFyZ3VtZW50cyB0byBTUUxU
cmFuc2FjdGlvbi5leGVjdXRlU3FsIiwgMSk7Ci0gICAgZGIudHJhbnNhY3Rpb24ocnVuVHJhbnNh
Y3Rpb25UZXN0cyk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVz
cWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjk1Y2VlZThjODgzYWRlMTQzZWE5NmEx
NTIzNTdkMDY3NTlhOWZhOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1z
dGF0ZW1lbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1UaGlz
IHRlc3QgdGVzdHMgdGhhdCBleGVjdXRlU3FsKCkgZmFpbHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0
cmluZyB0aGF0IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlkIHN0YXRlbWVudCBpbiBpdC4KLVRlc3Qg
cGFzc2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNj
ZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0
ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBhMzg2MGM4OTkyNWYyZmNkYjEwNjM2ZmU3YzYyM2FjODNiMTM2MDJhLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNzggKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0KLXZhciBU
T1RBTF9TVEFURU1FTlRTID0gODsKLXZhciBzdGF0ZW1lbnRzID0gMDsKLXZhciBkYiA9IG51bGw7
Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmJvZHkuaW5uZXJUZXh0
ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQotCi1mdW5jdGlvbiB0ZXJtaW5hdGVUZXN0KCkKLXsKLSAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGV4ZWN1dGVTdGF0ZW1lbnQoZXhw
ZWN0ZWRUb1Bhc3MsIHN0YXRlbWVudCkKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0
eCkgewotICAgICAgICB0eC5leGVjdXRlU3FsKHN0YXRlbWVudCwgW10sCi0gICAgICAgICAgICBm
dW5jdGlvbih0eCwgZGF0YSkgewotICAgICAgICAgICAgICAgIGlmICghZXhwZWN0ZWRUb1Bhc3Mp
IHsKLSAgICAgICAgICAgICAgICAgICAgbG9nKCJTdGF0ZW1lbnQgIiArIHN0YXRlbWVudCArICIg
d2FzIGV4cGVjdGVkIHRvIGZhaWwsIGJ1dCBwYXNzZWQuIik7Ci0gICAgICAgICAgICAgICAgICAg
IHRlcm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYg
KCsrc3RhdGVtZW50cyA9PSBUT1RBTF9TVEFURU1FTlRTKSB7Ci0gICAgICAgICAgICAgICAgICAg
IGxvZygiVGVzdCBwYXNzZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3Qo
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9LCBmdW5jdGlvbih0eCwgZXJyb3Ip
IHsKLSAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb1Bhc3MpIHsKLSAgICAgICAgICAgICAg
ICAgICAgbG9nKCJTdGF0ZW1lbnQgIiArIHN0YXRlbWVudCArICIgd2FzIGV4cGVjdGVkIHRvIHBh
c3MsIGJ1dCBmYWlsZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKCsrc3RhdGVtZW50cyA9PSBU
T1RBTF9TVEFURU1FTlRTKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxvZygiVGVzdCBwYXNzZWQu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICBkYiA9IG9wZW5EYXRhYmFzZSgiRXhlY3V0ZVNRTEFj
Y2VwdHNPbmx5T25lU3RhdGVtZW50VGVzdCIsICIxLjAiLCAiIiwgMSk7Ci0gICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxF
IElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikg
ewotICAgICAgICBsb2coIlRlc3QgZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAg
IHRlcm1pbmF0ZVRlc3QoKTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgZXhlY3V0ZVN0
YXRlbWVudCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDEpIik7Ci0gICAgICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgyKTsiKTsKLSAg
ICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiICAgSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMg
KDMpICAgICIpOwotICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICIgICBJTlNFUlQgSU5U
TyBUZXN0IFZBTFVFUyAoNCk7ICAgIik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwg
IklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg1KSAgIDsiKTsKLSAgICAgICAgZXhlY3V0ZVN0YXRl
bWVudChmYWxzZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg2KTsgZ2FyYmFnZSIpOwotICAg
ICAgICBleGVjdXRlU3RhdGVtZW50KGZhbHNlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDcp
OyBJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoOCkiKTsKLSAgICAgICAgZXhlY3V0ZVN0YXRlbWVu
dChmYWxzZSwgIiAgSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDkpOyAgIElOU0VSVCBJTlRPIFRl
c3QgVkFMVUVTICgxMCk7ICAgIik7Ci0gICAgfSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IGV4ZWN1dGVT
cWwoKSBmYWlscyB3aGVuIGNhbGxlZCB3aXRoIGEgc3RyaW5nIHRoYXQgaGFzIG1vcmUgdGhhbiBv
bmUgdmFsaWQgc3RhdGVtZW50IGluIGl0Ljxicj4KLTwvYm9keT4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRoLXhoci1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlOTY0ZTYzNzViZDNhMzFi
YWI4OGI3MjU1YjhmNTQwNzI0Y2NjZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRoLXhoci1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUNoYW5naW5nIHRoZSBo
YXNoIHRvIGNyZWF0ZSBoaXN0b3J5IGVudHJpZXMuCi1EYiBpcyB3YXJtZWQgdXAKLVRlc3QgQ29t
cGxldGUsIFNVQ0NFU1MKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNo
YW5nZS13aXRoLXhoci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRo
LXhoci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODQzMjBmMGYxOWM3OGM0
ZmNjOGM2Zjg1NDIwYmU4Y2Y1NmIzMzljLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPiAKLTxoZWFkPiAKLTx0
aXRsZT5IYXNoIENoYW5nZSB3aXRoIGFuIE9wZW4gWEhSIHNob3VsZCBub3Qgc3RvcCBkYXRhYmFz
ZSB0cmFuc2FjdGlvbnM8L3RpdGxlPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1j
b21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Imhhc2gtY2hhbmdlLXdpdGgteGhyLmpz
Ij48L3NjcmlwdD4KLTwvaGVhZD4gCi08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4g
Ci08cHJlIGlkPSJjb25zb2xlIj4KLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KLTwvcHJlPgot
PC9ib2R5PiAKLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1j
aGFuZ2Utd2l0aC14aHIuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ZjU2Zjc5NWExODJlMWE4MWRh
ZmI2NDAwZWM4M2M4YzMwYzBkNWZhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIuanMK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotdmFyIERCX1VQREFURV9JTlRFUlZBTCA9
IDEwMDsKLXZhciBTRU5EX1hIUl9JTlRFUlZBTCA9IDEwMDsKLXZhciBCQUNLX0lOVEVSVkFMID0g
MTAwOwotdmFyIENSRUFURV9IRUFMVEhfVEFCTEUgPSAnQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElT
VFMgaGVhbHRoIChrZXkgVkFSQ0hBUigxNikgUFJJTUFSWSBLRVkpOyc7Ci12YXIgVVBEQVRFX0RB
VEEgPSAnUkVQTEFDRSBJTlRPIGhlYWx0aCBWQUxVRVMoImhlYWx0aC1jaGVjay1rZXkiKTsnOwot
IAotdmFyIGRiID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgnYnVnMjU3MTAnLCAnMS4wJywgJ0xh
eW91dFRlc3QgZm9yIGJ1ZyAyNTcxMCcsIDEwMjQwMCk7Ci12YXIgYmFja0l0ZXJhdGlvbnM7Ci12
YXIgeGhyRmN0SW50ZXJ2YWxJZDsKLXZhciBiYWNrRmN0SW50ZXJ2YWxJZDsKLXZhciBzdWNjZXNz
Q2hlY2tJbnRlcnZhbElkOwotdmFyIGRiRmN0SW50ZXJ2YWxJZDsKLXZhciBzdWNjZXNzZXM7Ci12
YXIgZGF0YWJhc2VVcGRhdGVzOwotdmFyIHN0b3BwZWRJbnRlcnZhbHM7Ci0gCi1mdW5jdGlvbiBz
dG9wSW50ZXJ2YWxzKCkKLXsKLSAgICBzdG9wcGVkSW50ZXJ2YWxzID0gdHJ1ZTsKLSAgICBjbGVh
ckludGVydmFsKGRiRmN0SW50ZXJ2YWxJZCk7Ci0gICAgY2xlYXJJbnRlcnZhbCh4aHJGY3RJbnRl
cnZhbElkKTsKLSAgICBjbGVhckludGVydmFsKGJhY2tGY3RJbnRlcnZhbElkKTsKLX0KLQotZnVu
Y3Rpb24gc3RvcFRlc3QobWVzc2FnZSkKLXsKLSAgICBpZiAoIXN0b3BwZWRJbnRlcnZhbHMpCi0g
ICAgICAgIHN0b3BJbnRlcnZhbHMoKTsKLQotICAgIGxvZyhtZXNzYWdlKTsKLQotICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLX0KLSAgICAKLWZ1bmN0aW9uIHVwZGF0ZURhdGFiYXNlKCkKLXsKLSAg
ICBkYXRhYmFzZVVwZGF0ZXMrKzsgIAotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHRyYW5z
YWN0aW9uKSB7Ci0gICAgICAgIHRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoVVBEQVRFX0RBVEEsIFtd
LCBmdW5jdGlvbigpIHt9LCBlcnJvckhhbmRsZXIpOwotICAgIH0sIGVycm9ySGFuZGxlciwgZnVu
Y3Rpb24oKSB7Ci0gICAgICAgIHN1Y2Nlc3NlcysrOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBj
aGVja0ZvclN1Y2Nlc3MoKQotewotICAgIGlmIChzdWNjZXNzZXMgPT0gZGF0YWJhc2VVcGRhdGVz
KSB7Ci0gICAgICAgIHN0b3BUZXN0KCdUZXN0IENvbXBsZXRlLCBTVUNDRVNTJyk7Ci0gICAgICAg
IGNsZWFySW50ZXJ2YWwoc3VjY2Vzc0NoZWNrSW50ZXJ2YWxJZCk7Ci0gICAgfQotfQotIAotZnVu
Y3Rpb24gZXJyb3JIYW5kbGVyKHR4LCBlcnJvcikKLXsKLSAgICBsb2coJ0RCIGVycm9yLCBjb2Rl
OiAnICsgZXJyb3IuY29kZSArICcsIG1zZzogJyArIGVycm9yLm1lc3NhZ2UpOwotICAgIHN0b3BU
ZXN0KCdUZXN0IENvbXBsZXRlLCBGQUlMRUQnKTsKLX0KLSAKLWZ1bmN0aW9uIHNlbmRYaHIoKQot
ewotICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5vcGVuKCdHRVQnLCBs
b2NhdGlvbi5ocmVmLCB0cnVlKTsKLSAgICB4aHIuc2VuZCgnJyk7Ci19Ci0gCi1mdW5jdGlvbiBp
bnZva2VCYWNrKCkKLXsKLSAgICBiYWNrSXRlcmF0aW9ucy0tOwotICAgIGlmIChiYWNrSXRlcmF0
aW9ucykgewotICAgICAgICBoaXN0b3J5LmJhY2soKTsKLSAgICB9IGVsc2UgewotICAgICAgICBz
dG9wSW50ZXJ2YWxzKCk7Ci0gICAgICAgIC8vIEFsbG93IGEgbGl0dGxlIHRpbWUgZm9yIGFsbCB0
aGUgZGF0YWJhc2UgdHJhbnNhY3Rpb25zIHRvIGNvbXBsZXRlIG5vdyB3ZSd2ZSBzdG9wcGVkIG1h
a2luZyB0aGVtLgotICAgICAgICBzdWNjZXNzQ2hlY2tJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwo
Y2hlY2tGb3JTdWNjZXNzLCAyNTApOwotICAgICAgICAvLyBJZiB3ZSBkb24ndCBmaW5pc2ggYmVm
b3JlIHRoaXMgdGltZSwgdGhlbiB3ZSBjb25zaWRlciB0aGUgdGVzdCBmYWlsZWQuCi0gICAgICAg
IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHN0b3BUZXN0KCdUaW1lZCBvdXQgd2FpdGluZyBmb3Ig
dHJhbnNhY3Rpb25zIHRvIGNvbXBsZXRlLiBGQUlMRUQnKTsgfSwgMjAwMDApOwotICAgICAgICAK
LSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIC8vIExvY2F0aW9uIGNoYW5n
ZXMgbmVlZCB0byBoYXBwZW4gb3V0c2lkZSB0aGUgb25sb2FkIGhhbmRsZXIgdG8gZ2VuZXJhdGUg
aGlzdG9yeSBlbnRyaWVzLgotICAgIHNldFRpbWVvdXQocnVuVGVzdHNJbm5lciwgMCk7Ci19Ci0K
LWZ1bmN0aW9uIHJ1blRlc3RzSW5uZXIoKQotewotICAgIGJhY2tJdGVyYXRpb25zID0gMTA7Ci0g
ICAgY29uc2VjdXRpdmVGYWlsdXJlcyA9IDA7Ci0gICAgc3VjY2Vzc2VzID0gMDsKLSAgICBkYXRh
YmFzZVVwZGF0ZXMgPSAwOwotICAgIHN0b3BwZWRJbnRlcnZhbHMgPSBmYWxzZTsKLQotICAgIC8v
IENyZWF0ZSBzb21lIGhhc2hlcyBzbyB3ZSBjYW4gY2FsbCBoaXN0b3J5LmJhY2soKS4KLSAgICBs
b2coJ0NoYW5naW5nIHRoZSBoYXNoIHRvIGNyZWF0ZSBoaXN0b3J5IGVudHJpZXMuJyk7Ci0gICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBiYWNrSXRlcmF0aW9uczsgaSsrKSB7Ci0gICAgICAgIHNldExv
Y2F0aW9uSGFzaChpKTsKLSAgICB9Ci0KLSAgICAvLyBJbml0IHRoZSBkYXRhYmFzZS4KLSAgICBk
Yi50cmFuc2FjdGlvbihmdW5jdGlvbih0cmFuc2FjdGlvbikgewotICAgICAgICB0cmFuc2FjdGlv
bi5leGVjdXRlU3FsKENSRUFURV9IRUFMVEhfVEFCTEUsIFtdLCBmdW5jdGlvbigpIHt9LCBlcnJv
ckhhbmRsZXIpOwotICAgIH0sIGVycm9ySGFuZGxlciwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIC8v
IEdpdmUgYSBsaXR0bGUgZm9yIHRoZSBkYXRhYmFzZSB0byAnd2FybSB1cCcgYmVmb3JlIG1ha2lu
ZyB4aHIgcmVxdWVzdHMKLSAgICAgICAgLy8gYW5kIGNhbGxpbmcgaGlzdG9yeS5iYWNrKCkuCi0g
ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBsb2coJ0RiIGlzIHdh
cm1lZCB1cCcpOwotCi0gICAgICAgICAgICAvLyBOT1RFOiBJZiB3ZSBkb24ndCBtYWtlIGFueSB4
aHIgcmVxdWVzdHMsIHRoZW4gdGhlIHRlc3QKLSAgICAgICAgICAgIC8vIHN1Y2Nlc3NmdWxseSBw
YXNzZXMgKGNvbW1lbnQgdGhpcyBsaW5lIG91dCkuCi0gICAgICAgICAgICB4aHJGY3RJbnRlcnZh
bElkID0gc2V0SW50ZXJ2YWwoc2VuZFhociwgU0VORF9YSFJfSU5URVJWQUwpOwotICAgICAgICAg
ICAgYmFja0ZjdEludGVydmFsSWQgPSBzZXRJbnRlcnZhbChpbnZva2VCYWNrLCBCQUNLX0lOVEVS
VkFMKTsKLSAgICAgICAgICAgIGRiRmN0SW50ZXJ2YWxJZCA9IHNldEludGVydmFsKHVwZGF0ZURh
dGFiYXNlLCBEQl9VUERBVEVfSU5URVJWQUwpOwotICAgICAgICB9LCA1MDApOwotICAgIH0pOwot
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2Fy
YmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlw
bGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGQwMTUxNGE2YWVmYjM2MjhlYjAwMzY0Y2IyNjI0YzIwZTBlODkw
MDQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotVGhpcyB0ZXN0IG9wZW5zIHR3
byBkYXRhYmFzZXMsIHF1ZXVlcyB1cCBhIHNlcmllcyBvZiBvcGVyYXRpb25zIG9uIGJvdGgsIHRo
ZW4gImZvcmdldHMiIGFib3V0IG9uZSBvZiB0aGVtLiBBZnRlciBmb3JjaW5nIEdDLCByZXNvdXJj
ZXMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVs
bHkuCi1Gb3Jnb3R0ZW4gRGF0YWJhc2UgVHJhbnNhY3Rpb24gQ29tcGxldGUKLVBlcnNpc3RlbnQg
RGF0YWJhc2UgVHJhbnNhY3Rpb24gQ29tcGxldGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQ1MWFjZmJiOTlhNDM5ZGQ4MjQ3NmMx
OTk0OTE2Njg2YTlhNmYwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNv
bGxlY3Rpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhl
YWQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0ibXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyI+
PC9zY3JpcHQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3Qg
b3BlbnMgdHdvIGRhdGFiYXNlcywgcXVldWVzIHVwIGEgc2VyaWVzIG9mIG9wZXJhdGlvbnMgb24g
Ym90aCwgdGhlbiAiZm9yZ2V0cyIgYWJvdXQgb25lIG9mIHRoZW0uCi1BZnRlciBmb3JjaW5nIEdD
LCByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVk
IGdyYWNlZnVsbHkuPGJyPgotPHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRu
J3QgcnVuLgotPC9wcmU+IAotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpz
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YTJiMjdmNDdmNmE5MDBkODRiOThkMTg0
OGQ3NmVmNjQ0MjBkODZmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29s
bGVjdGlvbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLWZ1bmN0aW9uIEdDKCkK
LXsKLSAgICAvLyBGb3JjZSBHQy4KLSAgICBpZiAod2luZG93LkdDQ29udHJvbGxlcikKLSAgICAg
ICAgR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDAwMDsgKytpKSB7Ci0gICAgICAgICAgICAoeyB9KTsKLSAgICAgICAgfQot
ICAgIH0KLX0KLQotLy8gVmFyaWFibGUgZm9yIHRoZSBkYXRhYmFzZSB0aGF0IHdpbGwgbmV2ZXIg
YmUgZm9yZ290dGVuCi12YXIgcGVyc2lzdGVudERCID0gMDsKLS8vIFZhcmlhYmxlIGZvciB0aGUg
Zm9yZ290dGVuIGRhdGFiYXNlCi12YXIgZm9yZ290dGVuREIgPSAwOwotCi12YXIgY29tcGxldGVk
ID0gMDsKLWZ1bmN0aW9uIGNoZWNrQ29tcGxldGlvbigpCi17Ci0gICAgaWYgKCsrY29tcGxldGVk
ID09IDIgJiYgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAg
IHBlcnNpc3RlbnREQiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIk11bHRpcGxlRGF0YWJhc2Vz
VGVzdDEiLCAiMS4wIiwgIlRlc3Qgb25lIG91dCBvZiBhIHNldCBvZiBkYXRhYmFzZXMgYmVpbmcg
ZGVzdHJveWVkICgxKSIsIDMyNzY4KTsKLSAgICBmb3Jnb3R0ZW5EQiA9IG9wZW5EYXRhYmFzZVdp
dGhTdWZmaXgoIk11bHRpcGxlRGF0YWJhc2VzVGVzdDIiLCAiMS4wIiwgIlRlc3Qgb25lIG91dCBv
ZiBhIHNldCBvZiBkYXRhYmFzZXMgYmVpbmcgZGVzdHJveWVkICgyKSIsIDMyNzY4KTsKLQotICAg
IHBlcnNpc3RlbnREQi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVj
dXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBEYXRhVGVzdCAocmFuZG9tRGF0YSki
LCBbXSwgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyAKLSAgICAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgMjU7ICsraSkKLSAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5U
TyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFMVUVTICgxKSIsIFtdKTsKLSAgICAgICAgfSk7IAot
ICAgIH0sIGZ1bmN0aW9uKGVycikgewotICAgICAgICBsb2coIlBlcnNpc3RlbnQgRGF0YWJhc2Ug
VHJhbnNhY3Rpb24gRXJyb3JlZCAtICIgKyBlcnIpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24o
KTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgbG9nKCJQZXJzaXN0ZW50IERhdGFiYXNl
IFRyYW5zYWN0aW9uIENvbXBsZXRlIik7Ci0gICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAg
IH0pOwotCi0gICAgZm9yZ290dGVuREIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAg
ICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRW1wdHlUYWJsZSAo
dW5pbXBvcnRhbnREYXRhKSIsIFtdKTsKLSAgICB9LCBmdW5jdGlvbihlcnIpIHsKLSAgICAgICAg
bG9nKCJGb3Jnb3R0ZW4gRGF0YWJhc2UgVHJhbnNhY3Rpb24gRXJyb3JlZCAtICIgKyBlcnIpOwot
ICAgICAgICBmb3Jnb3R0ZW5EQiA9IDA7Ci0gICAgICAgIEdDKCk7Ci0gICAgICAgIGNoZWNrQ29t
cGxldGlvbigpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBsb2coIkZvcmdvdHRlbiBE
YXRhYmFzZSBUcmFuc2FjdGlvbiBDb21wbGV0ZSIpOwotICAgICAgICBmb3Jnb3R0ZW5EQiA9IDA7
Ci0gICAgICAgIEdDKCk7Ci0gICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0pOwotfQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTljMGY2ZTk1YmFmYjhm
NTc4MzM2MDk2MTZlZjUyYzcwODk2MTJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25z
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotVGhpcyBpcyBhIHRl
c3QgdG8gc2VlIGlmIHRoZSBkYXRhYmFzZSBBUEkgYWxsb3dzIG11bHRpcGxlIHRyYW5zYWN0aW9u
cyB0byBiZSBxdWV1ZWQgb24gdGhlIHNhbWUgZGF0YWJhc2UgYXQgb25jZToKLVRyYW5zYWN0aW9u
IDEgU3RhcnRlZAotVHJhbnNhY3Rpb24gMSBTdWNjZWVkZWQKLVRyYW5zYWN0aW9uIDIgU3RhcnRl
ZAotVHJhbnNhY3Rpb24gMiBTdWNjZWVkZWQKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVy
ZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
YTZhMmQxN2NhMDY4NzE3NTkwMWIzZWJiZTA3Y2M2MmY4ZjJkNmUzLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDggKzAsMCBAQAotVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5n
IHVwIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2Ft
ZSBkYXRhYmFzZSByZXN1bHRzIGluIGEgZGVhZGxvY2suCi1kYjEgcmVhZCBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkCi1kYjEgd3JpdGUgc3RhdGVtZW50IHN1Y2NlZWRlZAotZGIxIHRyYW5zYWN0aW9uIHN1
Y2NlZWRlZAotZGIyIHJlYWQgc3RhdGVtZW50IHN1Y2NlZWRlZAotZGIyIHdyaXRlIHN0YXRlbWVu
dCBzdWNjZWVkZWQKLWRiMiB0cmFuc2FjdGlvbiBzdWNjZWVkZWQKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRs
ZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRp
ZmZlcmVudC1oYW5kbGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhMThj
MzIyYzE1YTM2YjQxYjE0MzA3MzIzZTYzOTYwYWRlMTYwYzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10
cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDEyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFi
YXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ibXVsdGlwbGUtdHJhbnNhY3Rp
b25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KLVRoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiBxdWV1
ZWluZyB1cCBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhl
IHNhbWUgZGF0YWJhc2UgcmVzdWx0cyBpbiBhIGRlYWRsb2NrLjxicj4KLTxwcmUgaWQ9ImNvbnNv
bGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KLTwvcHJlPiAKLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25z
LW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10
cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDlhYjRiOTNlZjgzYTc2YzdlNGM5MjQ4MWRmZmYwZTUxNzdmNGFjMWQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMKKysrIC9k
ZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi12YXIgY29tcGxldGUgPSAwOwotCi1mdW5jdGlvbiBj
aGVja0NvbXBsZXRpb24oKQotewotICAgIC8vIFRoZSB0ZXN0IHNob3VsZCBlbmQgYWZ0ZXIgdHdv
IHRyYW5zYWN0aW9ucwotICAgIGlmICgrK2NvbXBsZXRlID09IDIgJiYgd2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
Ci19Ci0KLS8vIE9wZW5zIHRoZSBkYXRhYmFzZSB1c2VkIGluIHRoaXMgdGVzdCBjYXNlCi1mdW5j
dGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKLXsKLSAgICByZXR1cm4gb3BlbkRhdGFiYXNlV2l0aFN1
ZmZpeCgiTXVsdGlwbGVUcmFuc2FjdGlvbnNPbkRpZmZlcmVudEhhbmRsZXNUZXN0IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBxdWV1ZWluZyBtdWx0aXBsZSB0
cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IERCIGhhbmRsZXMgZG9lcyBub3QgcmVzdWx0IGluIGEg
ZGVhZGxvY2suIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMjc2OCk7Ci19
Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhkYk5hbWUsIHN0YXRlbWVudFR5
cGUpCi17Ci0gICAgbG9nKGRiTmFtZSArICIgIiArIHN0YXRlbWVudFR5cGUgKyAiIHN0YXRlbWVu
dCBzdWNjZWVkZWQiKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5h
bWUsIHN0YXRlbWVudFR5cGUsIGVycm9yKQotewotICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0
ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Ci19Ci0K
LS8vIFJ1bnMgYSB0cmFuc2FjdGlvbiBvbiB0aGUgZ2l2ZW4gZGF0YWJhc2UKLWZ1bmN0aW9uIHJ1
blRyYW5zYWN0aW9uKGRiLCBkYk5hbWUsIHZhbCkKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5j
dGlvbih0eCkgewotICAgICAgIC8vIEV4ZWN1dGUgYSByZWFkLW9ubHkgc3RhdGVtZW50Ci0gICAg
ICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsiLCBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkgeyBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJh
Y2soZGJOYW1lLCAicmVhZCIpOyB9LAotICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgs
IGVycm9yKSB7IHN0YXRlbWVudEVycm9yQ2FsbGJhY2soZGJOYW1lLCAicmVhZCIsIGVycm9yKTsg
fSk7Ci0KLSAgICAgICAvLyBFeGVjdXRlIGEgd3JpdGUgc3RhdGVtZW50IHRvIG1ha2Ugc3VyZSBT
UUxpdGUgdHJpZXMgdG8gYWNxdWlyZSBhbiBleGNsdXNpdmUgbG9jayBvbiB0aGUgREIgZmlsZQot
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KTsiLCBbdmFs
XSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkgeyBzdGF0ZW1lbnRTdWNj
ZXNzQ2FsbGJhY2soZGJOYW1lLCAid3JpdGUiKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1
bmN0aW9uKHR4LCBlcnJvcikgeyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgIndyaXRl
IiwgZXJyb3IpOyB9KTsKLSAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAv
LyBUcmFuc2FjdGlvbiBmYWlsdXJlIGNhbGxiYWNrCi0gICAgICAgICAgIGxvZyhkYk5hbWUgKyAi
IHRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICBjaGVj
a0NvbXBsZXRpb24oKTsKLSAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgLy8gVHJh
bnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjawotICAgICAgICAgICBsb2coZGJOYW1lICsgIiB0cmFu
c2FjdGlvbiBzdWNjZWVkZWQiKTsKLSAgICAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAg
ICAgfSk7Ci19Ci0KLS8vIFdlIG5lZWQgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIFRlc3QgdGFibGUg
ZXhpc3RzIGJlZm9yZSB3ZSBydW4gb3VyIHRlc3QuCi0vLyBUaGVyZWZvcmUsIHRoZSB0ZXN0IGNv
ZGUgaXMgaW4gdGhlIHN1Y2Nlc3NDYWxsYmFjayBvZiB0aGUgdHJhbnNhY3Rpb24gdGhhdCBjcmVh
dGVzIHRoZSB0YWJsZS4KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgdHJ5IHsKLSAgICAgICAg
dmFyIGRiID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgICAgICBkYi50cmFuc2FjdGlvbihmdW5j
dGlvbih0eCkgewotICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBUZXN0IHRhYmxlIGlmIGl0IGRv
ZXMgbm90IGV4aXN0Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYg
Tk9UIEVYSVNUUyBUZXN0IChGb28gaW50KTsiLCBbXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24ocmVzdWx0KSB7fSwgZnVuY3Rpb24odHgsIGVycm9yKSB7fSk7Ci0gICAgICAg
ICAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgICAgIGxvZygiQ3JlYXRpbmcg
dGhlIFRlc3QgdGFibGUgZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICB9
LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAvLyBUaGUgVGVzdCB0YWJsZSB3YXMgY3Jl
YXRlZCBzdWNjZXNzZnVsbHkKLSAgICAgICAgICAgICAgICB2YXIgZGIxID0gb3BlblRlc3REYXRh
YmFzZSgpOwotICAgICAgICAgICAgICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7Ci0g
ICAgICAgICAgICAgICAgaWYgKGRiMSA9PSBkYjIpCi0gICAgICAgICAgICAgICAgICAgIGxvZygi
ZmFpbHVyZTogZGIxID09IGRiMiIpOwotICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAg
ICAgICAgICAgICBydW5UcmFuc2FjdGlvbihkYjEsICJkYjEiLCAxKTsKLSAgICAgICAgICAgICAg
ICAgICAgcnVuVHJhbnNhY3Rpb24oZGIyLCAiZGIyIiwgMik7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfSk7Ci0gICAgfSBjYXRjaChlcnIpIHt9Ci19Ci0KLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDM1OTc0NDAxMzk2ZWZkYzg3NTNhNjBmYjNlOTQ4MTI0Mjg1MDM0Y2QuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEy
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNl
LWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ibXVsdGlwbGUtdHJhbnNhY3Rpb25z
LmpzIj48L3NjcmlwdD4KLTxoZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsi
PgotVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHRoZSBkYXRhYmFzZSBBUEkgYWxsb3dzIG11bHRp
cGxlIHRyYW5zYWN0aW9ucyB0byBiZSBxdWV1ZWQgb24gdGhlIHNhbWUgZGF0YWJhc2UgYXQgb25j
ZTo8YnI+Ci08cHJlIGlkPSJjb25zb2xlIj4gCi1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08
L3ByZT4gCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L211bHRpcGxlLXRyYW5zYWN0aW9ucy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUt
dHJhbnNhY3Rpb25zLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NWNkYWJjZGJk
ZDY0YzNiNGExZGQ2M2YzNTMxNTg2OTYyY2FkNjE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzIgKzAsMCBAQAotdmFyIGNvbXBsZXRlID0g
MDsKLQotZnVuY3Rpb24gY2hlY2tDb21wbGV0aW9uKCkKLXsKLSAgICBpZiAoKytjb21wbGV0ZSA9
PSAyICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICB2
YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJNdWx0aXBsZVRyYW5zYWN0aW9uc1Rlc3Qi
LCAiMS4wIiwgIlRlc3QgdG8gbWFrZSBzdXJlIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBjYW4gYmUg
cXVldWVkIGF0IG9uY2UgZm9yIGFuIEhUTUw1IGRhdGFiYXNlIiwgMzI3NjgpOwotCi0gICAgZGIu
dHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAxIFN0
YXJ0ZWQiKTsKLSAgICB9LCBmdW5jdGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlv
biAxIEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAg
fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBTdWNjZWVkZWQiKTsK
LSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAgfSk7Ci0KLSAgICBkYi50cmFuc2FjdGlv
bihmdW5jdGlvbih0eCkgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDIgU3RhcnRlZCIpOwot
ICAgIH0sIGZ1bmN0aW9uKGVycikgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDIgRXJyb3Jl
ZCAtICIgKyBlcnIpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9LCBmdW5jdGlv
bigpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIFN1Y2NlZWRlZCIpOwotICAgICAgICBj
aGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvbnVsbC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9u
dWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDgzMTE2NzUxMDZkODE2OTkxMTE0YWQ5MWM2NjM4MGMyN2MzN2QzYTYuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxs
LWNhbGxiYWNrcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRo
aXMgdGVzdCBjaGVja3MgdGhhdCAnbnVsbCcgY2FuIGJlIHVzZWQgd2hlcmV2ZXIgd2UgZXhwZWN0
IGFuIG9wdGlvbmFsIGNhbGxiYWNrLgotUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9udWxsLWNhbGxiYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxi
YWNrcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Y2EwZTFjM2ZmYmNkMzM2
NjEwZGZhMzdhNTg3NjlmMDJjNDg2OTZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3MuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1m
dW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIHRyeSB7Ci0gICAg
ICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiTnVsbENhbGxiYWNrcyIsICIxLjAiLCAiVGVzdCBm
b3IgbnVsbCBjYWxsYmFja3MuIiwgMSk7Ci0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVY
SVNUUyBUZXN0IChGb28gSU5UKSIsIG51bGwpOwotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
SU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKD8pIiwgWzFdLCBudWxsLCBudWxsKTsKLSAgICAgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFsyXSwgbnVs
bCk7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAo
MykiLCBudWxsLCBudWxsLCBudWxsKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VS
VCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs0XSwgbnVsbCwKLSAgICAgICAgICAgICAgICBmdW5j
dGlvbih0eCwgZXJyb3IpIHt9KTsKLSAgICAgICAgfSwgbnVsbCwgbnVsbCk7Ci0KLSAgICAgICAg
ZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs1XSk7Ci0gICAgICAgIH0sIG51bGwsIGZ1
bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOwotICAgIH0gY2F0Y2goZXJyKSB7Ci0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MID0gIkZBSUwiOwot
ICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQot
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0ICdudWxsJyBj
YW4gYmUgdXNlZCB3aGVyZXZlciB3ZSBleHBlY3QgYW4gb3B0aW9uYWwgY2FsbGJhY2suCi08cHJl
IGlkPSJjb25zb2xlIj5QQVNTPC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2Fs
bGJhY2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmYzZmNi
NmJhZGRhMTMwNTE1Mjg5NmU0OGEyYTEwNTMzZDJjYjE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFz
ZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogdW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UsIHZlcnNpb24g
bWlzbWF0Y2gsICcxLjAnIGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50VmVyc2lvbiBvZiAnJwot
VGhpcyB0ZXN0IHRlc3RzIG9wZW5EYXRhYmFzZSgpJ3MgY3JlYXRpb24gY2FsbGJhY2suCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29w
ZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTk2YTY3NTRkOGRmNTc0MDBjZTQ2Yzlk
Y2NhMjNlNWM0Mjc1ODQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLUFMRVJUOiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNp
YmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3Rz
IHRoYXQgdGhlIG9wZW5EYXRhYmFzZSgpIGNyZWF0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0
aGUgcmlnaHQgd29ybGQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1k
YXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4YTQ2NjRiZTIwZmZmYzViZDg5
OTllZjQ0ODdiZmFiMGVmNWNiNDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0
aGUgb3BlbkRhdGFiYXNlKCkgY3JlYXRpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdo
dCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLXZhciBjcmVhdGlv
bkNhbGxiYWNrc0V4ZWN1dGVkID0gMDsKLWZ1bmN0aW9uIGRvbmUoKQotewotICAgIGlmICgoKytj
cmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0K
LWZ1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKQotewotICAgIGFsZXJ0KCJGQUlMOiBWaXNp
YmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24gY3Jl
YXRpb25DYWxsYmFjazIoZGIpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwotICAg
IGRvbmUoKTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5m
b28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFT
UzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhp
cyB3b3JsZC4iOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRl
ZFdvcmxkKAotICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gY3JlYXRpb25DYWxsYmFjazEo
ZGIpXG4iICsKLSAgICAgICAgIntcbiIgKwotICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJv
ZHkuZm9vKTtcbiIgKwotICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpk
b25lKCknO1xuIiArCi0gICAgICAgICJ9XG4iICsKLSAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0
YWJhc2UoJ09wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxkJywgJzEuMCcs
ICcnLCAxLCBjcmVhdGlvbkNhbGxiYWNrMSk7Iik7Ci0KLSAgICB2YXIgZGIyID0gb3BlbkRhdGFi
YXNlKCdPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywg
JycsIDEsIGNyZWF0aW9uQ2FsbGJhY2syKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9u
LWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRp
b24tY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDgxNjQ1YzQ1
ZWU3NGQ0YjYxYWEwMTk4MDM0YTk0YThkNGE3ZTM1OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
Y3JlYXRpb24tY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8
YnI+IjsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0
YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldERhdGFiYXNlUXVvdGEo
MzI3NjgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wRGF0YWJhc2VDYWxsYmFj
a3MoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotCi0gICAgdmFy
IHRyYW5zYWN0aW9uc1J1biA9IDA7Ci0KLSAgICAvLyBPcGVuIGEgbmV3IGRhdGFiYXNlIHdpdGgg
YSBjcmVhdGlvbiBjYWxsYmFjaywgYW5kIG1ha2Ugc3VyZSB0aGUgY3JlYXRpb24gY2FsbGJhY2sg
aXMgcXVldWVkCi0gICAgdmFyIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxID0gZmFsc2U7Ci0gICAg
dmFyIGRiMU5hbWUgPSAiT3BlbkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFjazEiICsgKG5ldyBEYXRl
KCkpLmdldFRpbWUoKTsKLSAgICB2YXIgZGIxID0gb3BlbkRhdGFiYXNlKGRiMU5hbWUsICIxLjAi
LCAiIiwgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKGRiKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRpb25DYWxsYmFja0NhbGxlZDEgPSB0cnVl
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYi52ZXJzaW9uICE9ICIiKSB7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygiQ3JlYXRpb24gY2FsbGJh
Y2sgd2FzIGNhbGxlZCB3aXRoIGEgZGF0YWJhc2Ugd2l0aCB2ZXJzaW9uICIgKwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGIudmVyc2lvbiArICI7IGVtcHR5IHN0cmlu
ZyBleHBlY3RlZC4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNo
VGVzdCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0pOwotCi0gICAgLy8gUHV0dGluZyB0aGlzIGNvZGUgaW5zaWRlIGEgdHJh
bnNhY3Rpb24gb24gJ2RiMScgbWFrZXMgc3VyZSB0aGF0IGl0IGlzIGV4ZWN1dGVkIGFmdGVyCi0g
ICAgLy8gdGhlIGNyZWF0aW9uIGNhbGxiYWNrIGlzLgotICAgIGRiMS50cmFuc2FjdGlvbihmdW5j
dGlvbih0eCkgewotICAgICAgICBpZiAoIWNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxKSB7Ci0gICAg
ICAgICAgICBsb2coIkNyZWF0aW9uIGNhbGxiYWNrIGZvciBkYjEgd2FzIG5vdCBjYWxsZWQuIik7
Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCsrdHJh
bnNhY3Rpb25zUnVuID09IDIpCi0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSk7Ci0K
LSAgICAvLyBUcnkgdG8gb3BlbiBhbm90aGVyIGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZS4K
LSAgICAvLyBTaW5jZSB0aGUgdmVyc2lvbiBvZiB0aGlzIGRhdGFiYXNlIGlzICIiIChlbXB0eSBz
dHJpbmcpLCBvcGVuRGF0YWJhc2UoKSBzaG91bGQgcmV0dXJuCi0gICAgLy8gYSBudWxsIGhhbmRs
ZSBhbmQgdGhyb3cgYSBJTlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24uCi0gICAgdmFyIGRiMUZh
aWwgPSBudWxsOwotICAgIHRyeSB7Ci0gICAgICAgIGRiMUZhaWwgPSBvcGVuRGF0YWJhc2UoZGIx
TmFtZSwgIjEuMCIsICIiLCAxKTsKLSAgICAgICAgbG9nKCJUaGlzIHN0YXRlbWVudCBzaG91bGQg
bm90IGhhdmUgYmVlbiBleGVjdXRlZDsgYW4gSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uIHNo
b3VsZCd2ZSBiZWVuIHRocm93bi4iKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0gY2F0
Y2goZXJyKSB7Ci0gICAgICAgIGlmIChkYjFGYWlsKSB7Ci0gICAgICAgICAgICBsb2coImRiMUZh
aWwgc2hvdWxkIGhhdmUgYmVlbiBudWxsLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwot
ICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8gT3BlbiBhIGhhbmRsZSB0byBhbm90aGVyIGRhdGFi
YXNlLCBmaXJzdCB3aXRob3V0IGEgY3JlYXRpb24gY2FsbGJhY2ssIHRoZW4gd2l0aCBvbmUuCi0g
ICAgLy8gTWFrZSBzdXJlIHRoZSBjcmVhdGlvbiBjYWxsYmFjayBpcyBub3QgY2FsbGVkLgotICAg
IHZhciBjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMiA9IGZhbHNlOwotICAgIHZhciBkYjIgPSBvcGVu
RGF0YWJhc2UoIk9wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2syIiwgIjEuMCIsICIiLCAxKTsK
LSAgICBkYjIgPSBvcGVuRGF0YWJhc2UoIk9wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2syIiwg
IjEuMCIsICIiLCAxLAotICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihkYikgeyBjcmVh
dGlvbkNhbGxiYWNrQ2FsbGVkMiA9IHRydWU7IH0pOwotICAgIGRiMi50cmFuc2FjdGlvbihmdW5j
dGlvbih0eCkgewotICAgICAgICBpZiAoY3JlYXRpb25DYWxsYmFja0NhbGxlZDIpIHsKLSAgICAg
ICAgICAgIGxvZygiQ3JlYXRpb24gY2FsbGJhY2sgZm9yIGRiMiBzaG91bGQgbm90IGhhdmUgYmVl
biBjYWxsZWQuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgaWYgKCsrdHJhbnNhY3Rpb25zUnVuID09IDIpCi0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7
Ci0gICAgfSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Ci1UaGlzIHRlc3QgdGVzdHMgb3BlbkRhdGFiYXNlKCkncyBjcmVhdGlvbiBjYWxsYmFj
ay4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJz
aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJlMmZmYzMw
ZDRhNDY1YmRkZWJjOTliZjAzNjc5NTk5ZWY5OGZmNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
ZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAK
LVRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNp
b24gc3RyaW5nIGRvZXMgbm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24uCi1TVUND
RVNTISBEaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0NjA0MTEzODNmMThjZjgwYzljNGFkODM4ZjcxNTQ5YjY5YzY2NzZjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSwyMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHJ1blRl
c3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCi0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAKLSAgICB0cnkgeyAgICAKLSAg
ICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCc1NTYyNDcwVGVzdCcsICcnLCAnVGVzdCBmb3Ig
PHJkYXI6Ly9wcm9ibGVtLzU1NjI0NzA+IG9wZW5EYXRhYmFzZSBkb2VzIG5vdCB3b3JrIHdoZW4g
dGhlIHZlcnNpb24gc3RyaW5nIGlzIGVtcHR5JywgMSk7Ci0gICAgfSBjYXRjaCAoZSkgewotICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ0ZBSUxV
UkUnCi0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci08ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVt
cHR5IHZlcnNpb24gc3RyaW5nIGRvZXMgbm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0byBiZSB0aHJv
d24uCi08ZGl2IGlkPSJyZXN1bHQiPgotU1VDQ0VTUyEgRGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24uCi08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDBjMTVlNDIwNGY1NjEyMzc2OGNkMWU1ZWU2YzI2YWFlOGRi
NmIzNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLVRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5E
YXRhYmFzZSB3aXRoIGEgc2l6ZSBvdmVyIDVNQiBkb2Vzbid0IGFzc2VydCBvbiBkZWJ1ZyBidWls
ZHMuCi1QQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
b3Zlci1xdW90YS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXIt
cXVvdGEuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmE5MjY0ZGUzM2RmMTE3
NDQ5YjRjM2U1M2E2N2NmZWY5NjQ0MWJmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utb3Zlci1x
dW90YS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAg
IH0KLQotICAgIHRyeSB7Ci0gICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgnT3ZlclF1b3Rh
T3BlbicsICcnLCAnVGVzdCBmb3IgYnVnIDM2NDczOiBtaXNzaW5nIGxvY2sgaW4gY2FsbCB0byBk
b25lQ3JlYXRpbmdEYXRhYmFzZScsIDEwMDAwMDAwKTsKLSAgICB9IGNhdGNoIChlcnIpIHsKLSAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdQQVNT
JwotICAgIH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgotPGRpdj5UaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhIHNpemUg
b3ZlciA1TUIgZG9lc24ndCBhc3NlcnQgb24gZGVidWcgYnVpbGRzLgotPGRpdiBpZD0icmVzdWx0
Ij4KLUZBSUw6IFdlIHNob3VsZG4ndCBoYXZlIGJlZW4gYWJsZSB0byBvcGVuIHRoZSBkYXRhYmFz
ZS4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxZDk5NjAzNDRjZjUwODQyZjdmZTk1
OGVlN2M2ZGUyNzY0YjJkZjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJz
aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotQ09OU09MRSBN
RVNTQUdFOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJ3Rlc3Qn
IGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50VmVyc2lvbiBvZiAnJwotVGhpcyB0ZXN0cyB0aGF0
IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0cyB0
aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoYXQgZGF0YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmluZyBh
bmQgc3Vic2VxdWVudCBhdHRlbXB0cyB0byBvcGVuIHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlmZmVy
ZW50IGV4cGVjdGVkIHZlcnNpb24gdGhyb3cgYW4gZXhjZXB0aW9uLgotU1VDQ0VTUywgYW4gZXhj
ZXB0aW9uIHdhcyB0aHJvd24uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlv
biAxMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1l
bXB0eS12ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utc2V0
LWVtcHR5LXZlcnNpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjM2MDdm
ZDE5YzlkNzg1MWQyYTBlZmE0M2UzNTA0MGFjOTllZGY0ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJh
c2Utc2V0LWVtcHR5LXZlcnNpb24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAK
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxE
YXRhYmFzZXMoKTsKLSAgICB9Ci0gICAgCi0gICAgdHJ5IHsgICAgCi0gICAgICAgIHZhciBkYiA9
IG9wZW5EYXRhYmFzZSgnMjg0MTdUZXN0JywgJycsICdUZXN0IGZvciBidWcgMjg0MTc6IG9wZW5E
YXRhYmFzZSgpIHdpdGggZW1wdHkgdmVyc2lvbiBzZXRzIGRiIHZlcnNpb24gdXAgaW5jb3JyZWN0
bHknLCAwKTsKLSAgICAgICAgLy8gVGhlIG5leHQgb3BlbkRhdGFiYXNlIGNhbGwgc2hvdWxkIGZh
aWwgYmVjYXVzZSB0aGUgZGF0YWJhc2UgdmVyc2lvbiB3YXMgc2V0IHRvICcnIGJ5IHRoZSBjYWxs
IGFib3ZlLCBhbmQgbm93IHdlIGFyZSBleHBlY3RpbmcgYSBkaWZmZXJlbnQgdmVyc2lvbi4KLSAg
ICAgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnMjg0MTdUZXN0JywgJ3Rlc3QnLCAnVGVzdCBm
b3IgYnVnIDI4NDE3OiBvcGVuRGF0YWJhc2UoKSB3aXRoIGVtcHR5IHZlcnNpb24gc2V0cyBkYiB2
ZXJzaW9uIHVwIGluY29ycmVjdGx5JywgMCk7Ci0gICAgfSBjYXRjaCAoZSkgewotICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ1NVQ0NFU1MsIGFu
IGV4Y2VwdGlvbiB3YXMgdGhyb3duLiAnICsgZTsKLSAgICB9Ci19Ci08L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxkaXY+VGhpcyB0ZXN0cyB0aGF0IGNhbGxp
bmcgb3BlbkRhdGFiYXNlIHdpdGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0cyB0aGUgY3Vy
cmVudCB2ZXJzaW9uIG9mIHRoYXQgZGF0YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmluZyBhbmQgc3Vi
c2VxdWVudCBhdHRlbXB0cyB0byBvcGVuIHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlmZmVyZW50IGV4
cGVjdGVkIHZlcnNpb24gdGhyb3cgYW4gZXhjZXB0aW9uLjwvZGl2PgotPGRpdiBpZD0icmVzdWx0
Ij4KLUZBSUxVUkUgLSBhbiBleGNlcHRpb24gd2FzIGV4cGVjdGVkLgotPC9kaXY+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
d2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWNhYzhhZmNlYmUxMWQ2MTA3
ZWU4ZDhlNzY4NDFiMzU2YWJlMDM2My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJh
bnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1UaGlzIGlzIGEgdGVzdCB0byBzZWUgaWYgb3BlbmluZyBhIGRhdGFiYXNlIHdoaWxl
IGEgdHJhbnNhY3Rpb24gaXMgcnVubmluZyBvbiBhIGRpZmZlcmVudCBoYW5kbGUgdG8gdGhlIHNh
bWUgZGF0YWJhc2UgcmVzdWx0cyBpbiBhIGRlYWRsb2NrLgotb3BlbkRhdGFiYXNlKCkgc3VjY2Vl
ZGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hp
bGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Bl
bi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3MDdhMWE0NWM5YzIzNDk1NGJlMmUwMDk3ZTkwNzliNjU0Nzcx
Y2MwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVz
cy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJvcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KLVRo
aXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiBvcGVuaW5nIGEgZGF0YWJhc2Ugd2hpbGUgYSB0cmFuc2Fj
dGlvbiBpcyBydW5uaW5nIG9uIGEgZGlmZmVyZW50IGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFz
ZSByZXN1bHRzIGluIGEgZGVhZGxvY2suPGJyPgotPHByZSBpZD0iY29uc29sZSI+Ci1GQUlMVVJF
OiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1w
cm9ncmVzcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFu
c2FjdGlvbi1pbi1wcm9ncmVzcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Ex
YTBjMDE0ZTIzNjU5MGU3NjQ0MGE3YTQ3YTA0ZDAxNjRjYTNjNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0
YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuanMKKysrIC9kZXYvbnVsbApAQCAt
MSw0MSArMCwwIEBACi0vLyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2Fz
ZQotZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFz
ZVdpdGhTdWZmaXgoIk9wZW5EYXRhYmFzZVdoaWxlVHJhbnNhY3Rpb25JblByb2dyZXNzVGVzdCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgY2FsbGluZyBvcGVu
RGF0YWJhc2UoKSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzIGluIHByb2dyZXNzIG9uIGEgZGlmZmVy
ZW50IGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZSBkb2VzIG5vdCByZXN1bHQgaW4gYSBkZWFk
bG9jay4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIxMDAwMDApOyAvLyAy
TUIgKyBlcHNpbG9uCi19Ci0KLS8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjgyMDcKLS8vIEluIG9yZGVyIHRvIHRyaWdnZXIgdGhpcyBidWcsIHRoZSB0cmFu
c2FjdGlvbiBtdXN0IGFjcXVpcmUgYW4gZXhjbHVzaXZlCi0vLyBsb2NrIG9uIHRoZSBEQiBmaWxl
IGJlZm9yZSB0cnlpbmcgdG8gb2J0YWluIGEgc2Vjb25kIGhhbmRsZSB0byB0aGUgc2FtZSBEQi4K
LS8vIFRoZSBvbmx5IHdheSB0byBmb3JjZSBTUUxpdGUgdG8gb2J0YWluIGFuIGV4Y2x1c2l2ZSBs
b2NrIGlzIHRvIGNoYW5nZSBtb3JlCi0vLyB0aGFuIGNhY2hlX3NpemUgKiBwYWdlX3NpemUgYnl0
ZXMgaW4gdGhlIGRhdGFiYXNlLiBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IKLS8vIGNhY2hlX3NpemUg
aXMgMjAwMCBwYWdlcywgYW5kIHRoZSBkZWZhdWx0IHBhZ2Vfc2l6ZSBpcyAxMDI0IGJ5dGVzLiBT
byB0aGUKLS8vIHNpemUgb2YgdGhlIGJsb2IgbXVzdCBiZSBhdCBsZWFzdCAyTUIuCi1mdW5jdGlv
biBydW5UZXN0KCkKLXsKLSAgICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgIGRi
MS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAvLyBDcmVhdGUgdGhlIFRlc3Qg
dGFibGUgaWYgaXQgZG9lcyBub3QgZXhpc3QKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRF
IFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIEJMT0IpOyIpOwotICAgICAgICB0eC5leGVj
dXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoWkVST0JMT0IoMjA5NzE1MikpOyIsIFtd
LAotICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgICAgICAgICAg
ICAgICAgICAgICAgICBsb2coIm9wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJv
cikgewotICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkV4ZWN1dGluZyBzdGF0ZW1lbnQg
ZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgfSk7Ci0K
LSAgICAgICAgLy8gQ2xlYW4gdXAgdGhlIERCIHRvIGFsbG93IGZvciByZXBlYXRlZCBydW5zIG9m
IHRoaXMgdGVzdAotICAgICAgICAvLyB3aXRob3V0IG5lZWRpbmcgdG8gaW5jcmVhc2UgdGhlIGRl
ZmF1bHQgYWxsb3dlZCBxdW90YSAoNU1CKQotICAgICAgICB0eC5leGVjdXRlU3FsKCJERUxFVEUg
RlJPTSBUZXN0OyIpOwotICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgIGxvZygiVHJh
bnNhY3Rpb24gZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci19CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1u
b3dyaXRlLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjFmNjdk
MmZhYzRmMjZlNmYyZDcyODAwNjg4MGQyZjVmZjUzMjkwOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJv
d3Npbmctbm9yZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUg
KzAsMCBAQAotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhl
IGRhdGFiYXNlIGR1cmluZyBwcml2YXRlIGJyb3dzaW5nIGZhaWwuCi1TZXR1cCBzdGF0ZW1lbnQg
MSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Ci1TZXR1cCBzdGF0ZW1lbnQgMiBjb21wbGV0ZWQgc3Vj
Y2Vzc2Z1bGx5Ci1Qcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAxIGNvbXBsZXRlZCB3aXRoIGFu
IGVycm9yCi1jb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCi1Q
cml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAyIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCi1jb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotUHJpdmF0ZSBicm93
c2luZyBzdGF0ZW1lbnQgMyBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgotY291bGQgbm90IHByZXBh
cmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVByaXZhdGUgYnJvd3Npbmcgc3RhdGVt
ZW50IDQgY29tcGxldGVkIHdpdGggYW4gZXJyb3IKLWNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCi1Qcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA1IGNvbXBs
ZXRlZCB3aXRoIGFuIGVycm9yCi1jb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIGFjY2Vz
cyB0byBQcml2YXRlVGVzdDEucmFuZG9tRGF0YSBpcyBwcm9oaWJpdGVkKQotVGVzdCBlbmRlZAot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFk
LW5vd3JpdGUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3Jl
YWQtbm93cml0ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOWI1ODgyYjRk
ZTFjNTYyMDY0YzVlODQ3NzAxMDY5NzlhMDFmYzE1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcHJpdmF0ZS1icm93c2lu
Zy1ub3JlYWQtbm93cml0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAyICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNz
YWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0
ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQotCi12YXIgc2V0dXBTdGF0ZW1lbnRzID0gWwotICAgICJD
UkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBQcml2YXRlVGVzdDEgKHJhbmRvbURhdGEpIiwKLSAg
ICAiSU5TRVJUIElOVE8gUHJpdmF0ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiCi1dOwotCi12
YXIgcHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50cyA9IFsKLSAgICAiQ1JFQVRFIFRBQkxFIElGIE5P
VCBFWElTVFMgUHJpdmF0ZVRlc3QyIChyYW5kb21EYXRhKSIsCi0gICAgIkRFTEVURSBGUk9NIFBy
aXZhdGVUZXN0MSIsCi0gICAgIkRST1AgVEFCTEUgUHJpdmF0ZVRlc3QxIiwKLSAgICAiSU5TRVJU
IElOVE8gUHJpdmF0ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiLAotICAgICJTRUxFQ1QgKiBG
Uk9NIFByaXZhdGVUZXN0MSIKLV07Ci0KLXZhciBjb21wbGV0ZWQgPSAwOwotdmFyIHRoZVRyYW5z
YWN0aW9uOwotCi1mdW5jdGlvbiBzZXR1cFN1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQotewot
ICAgICsrY29tcGxldGVkOwotICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQg
IiArIGNvbXBsZXRlZCArICIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSIpOwotICAgIGNoZWNrU2V0
dXBDb21wbGV0ZSgpOwotfQotCi1mdW5jdGlvbiBzZXR1cEVycm9yRnVuY3Rpb24odHgsIGVycm9y
KQotewotICAgICsrY29tcGxldGVkOwotICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0
ZW1lbnQgIiArIGNvbXBsZXRlZCArICIgY29tcGxldGVkIHdpdGggYW4gZXJyb3JcbiIgKyBlcnJv
ci5tZXNzYWdlKTsKLSAgICBjaGVja1NldHVwQ29tcGxldGUoKTsKLX0KLQotZnVuY3Rpb24gcHJp
dmF0ZUJyb3dzaW5nU3VjY2Vzc0Z1bmN0aW9uKHR4LCByZXN1bHQpCi17Ci0gICAgKytjb21wbGV0
ZWQ7Ci0gICAgd3JpdGVNZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIg
KyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKLX0KLQotZnVuY3Rpb24g
cHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCi17Ci0gICAgKytjb21wbGV0
ZWQ7Ci0gICAgd3JpdGVNZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIg
KyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2Fn
ZSk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1mdW5jdGlvbiBydW5TZXR1cCh0cmFuc2FjdGlv
bikKLXsKLSAgICB0aGVUcmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uOwotICAgIGZvciAoaSBpbiBz
ZXR1cFN0YXRlbWVudHMpCi0gICAgICAgIHRoZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoc2V0dXBT
dGF0ZW1lbnRzW2ldLCBbXSwgc2V0dXBTdWNjZXNzRnVuY3Rpb24sIHNldHVwRXJyb3JGdW5jdGlv
bik7Ci19Ci0KLWZ1bmN0aW9uIGNoZWNrU2V0dXBDb21wbGV0ZSgpCi17Ci0gICAgaWYgKGNvbXBs
ZXRlZCA9PSBzZXR1cFN0YXRlbWVudHMubGVuZ3RoKQotICAgICAgICBydW5Qcml2YXRlQnJvd3Np
bmdUZXN0cygpOwotfQotCi1mdW5jdGlvbiBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCi17Ci0g
ICAgY29tcGxldGVkID0gMDsKLQotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQo
dHJ1ZSk7Ci0gICAgCi0gICAgZm9yIChpIGluIHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHMpCi0g
ICAgICAgIHRoZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwocHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50
c1tpXSwgW10sIHByaXZhdGVCcm93c2luZ1N1Y2Nlc3NGdW5jdGlvbiwgcHJpdmF0ZUJyb3dzaW5n
RXJyb3JGdW5jdGlvbik7Ci19Ci0KLWZ1bmN0aW9uIGVuZFRlc3QoKQotewotICAgIHdyaXRlTWVz
c2FnZVRvTG9nKCJUZXN0IGVuZGVkIik7Ci0gICAgCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwot
fQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAg
IHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiUHJpdmF0ZUJyb3dzaW5nTm9SZWFkTm9Xcml0
ZVRlc3QiLCAiMS4wIiwgIlRlc3QgcHJpdmF0ZSBicm93c2luZyBubyByZWFkL3dyaXRlIHNhZmV0
eSIsIDEpOwotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKHJ1blNldHVwLCBlbmRUZXN0LCBlbmRU
ZXN0KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsi
PgotVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFi
YXNlIGR1cmluZyBwcml2YXRlIGJyb3dzaW5nIGZhaWwuPGJyPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEt
dHJhY2tpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZDg2
MGYwYzA0ZGQ3NTZmYzhkNDc0YjM3OWJlM2E1ZmM3ZjdjZTg3Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJh
Y2tpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotVUkgREVM
RUdBVEUgREFUQUJBU0UgQ0FMTEJBQ0s6IGV4Y2VlZGVkRGF0YWJhc2VRdW90YUZvclNlY3VyaXR5
T3JpZ2luOntmaWxlLCAsIDB9IGRhdGFiYXNlOlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMgotVGhp
cyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2VkIHBlci1v
cmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0byBodHRw
Oi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMuCi1UaGUg
dGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNlcywgc2V0cyB0aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4g
dG8gNDBrLCB0aGVuIHRyaWVzIHRvIGluc2VydCAxN2sgb2YgZGF0YSBpbnRvIHR3byBkYXRhYmFz
ZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFubmVkLCB0aGUgc2Vjb25kIGluc2VydCBzaG91bGQgZmFp
bCwgdGhlIFVJIERlbGVnYXRlIHNob3VsZCBiZSBpbmZvcm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVv
dGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0aGUgcXVvdGEgZm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRp
bmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJkIHRpbWUgc2hvdWxkIHN1Y2NlZWQgYWdhaW4uCi1BZGRp
bmcgYSB0YWJsZQotSW5zZXJ0aW5nIHNvbWUgZGF0YQotRG9uZSBhZGRpbmcgZGF0YQotQWRkaW5n
IGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLUV4cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAt
IHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmluZyBzdG9yYWdlIHNwYWNlLCBvciB0aGUgc3Rv
cmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhlIHVzZXIgZGVjbGluZWQgdG8gYWxsb3cgbW9y
ZSBzcGFjZQotRG9uZSBhZGRpbmcgZGF0YQotQWRkaW5nIGEgdGFibGUKLUluc2VydGluZyBzb21l
IGRhdGEKLURvbmUgYWRkaW5nIGRhdGEKLVRlc3QgQ29tcGxldGUKLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10cmFja2luZy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9xdW90YS10cmFja2luZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTUy
NTIzYjE2M2YwNTQ1NTg4YTg4ZWIxMzEwYmRmZDhjNjYyM2ExLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJh
Y2tpbmcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDExMyArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdD4KLXZhciBkYXRhYmFzZTEgPSBudWxsOwotdmFyIGRhdGFiYXNlMiA9IG51bGw7
Ci12YXIgZGF0YWJhc2UzID0gbnVsbDsKLQotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSAr
ICI8YnI+IjsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgbG9nKCJUZXN0IENv
bXBsZXRlIik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1l
bnRFcnJvckZ1bmN0aW9uKHR4LCBlcnJvcikKLXsKLSAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0
aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlzaFRlc3QoKTsKLX0KLQotZnVuY3Rp
b24gdHJhbnNhY3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBlcnJvcikKLXsKLSAgICAvLyBXZSBvbmx5
IGV4cGVjdCBhbiBlcnJvciBtZXNzYWdlIGZvciBkYXRhYmFzZTIKLSAgICBpZiAoZGIgPT0gZGF0
YWJhc2UyKSB7Ci0gICAgICAgIGxvZygiRXhwZWN0ZWQgcXVvdGEgZXhjZXB0aW9uIC0gIiArIGVy
cm9yLm1lc3NhZ2UpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oZGIpOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGxvZygiVW5leHBlY3RlZCBleGNlcHRpb24gLSAiICsgZXJyb3IubWVzc2FnZSk7
Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIGNoZWNrQ29tcGxl
dGlvbihkYikKLXsKLSAgICBsb2coIkRvbmUgYWRkaW5nIGRhdGEiKTsKLQotICAgIGlmIChkYXRh
YmFzZTMpIHsKLSAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0gZWxzZSBpZiAoZGF0YWJhc2Uy
KSB7Ci0gICAgICAgIGRhdGFiYXNlMyA9IG9wZW5EYXRhYmFzZSgiUXVvdGFNYW5hZ2VtZW50RGF0
YWJhc2UzIiwgIjEuMCIsICJUZXN0IGZvciBxdW90YSBtYW5hZ2VtZW50IDxyZGFyOi8vNTYyODQ2
OD4iLCAxKTsKLSAgICAgICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMyk7Ci0gICAgfSBlbHNlIHsK
LSAgICAgICAgZGF0YWJhc2UyID0gb3BlbkRhdGFiYXNlKCJRdW90YU1hbmFnZW1lbnREYXRhYmFz
ZTIiLCAiMS4wIiwgIlRlc3QgZm9yIHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81NjI4NDY4PiIs
IDEpOwotICAgICAgICB0ZXN0RGF0YWJhc2UoZGF0YWJhc2UyKTsKLSAgICB9Ci19Ci0KLWZ1bmN0
aW9uIGFkZERhdGEoZGIpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAg
ICAgICAgbG9nKCJJbnNlcnRpbmcgc29tZSBkYXRhIik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwo
IklOU0VSVCBJTlRPIERhdGFUZXN0IChyYW5kb21EYXRhKSBWQUxVRVMgKFpFUk9CTE9CKDE3NDA4
KSkiLCBbXSwKLSAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IH0s
IHN0YXRlbWVudEVycm9yRnVuY3Rpb24pOwotICAgICAgICBpZiAoZGIgPT0gZGF0YWJhc2UyKSB7
Ci0gICAgICAgICAgICAvLyBUcnkgdG8gcnVuIHRoaXMgc3RhdGVtZW50IG9uICdkYXRhYmFzZTIn
IG9ubHkuCi0gICAgICAgICAgICAvLyBJdCBzaG91bGQgbm90IGJlIHJ1biwgYmVjYXVzZSB0aGUg
cHJldmlvdXMgc3RhdGVtZW50IHNob3VsZCd2ZQotICAgICAgICAgICAgLy8gcmVzdWx0ZWQgaW4g
YSBmYWlsdXJlIHRoYXQgbWFkZSBzcWxpdGUgcm9sbCBiYWNrIHRoZSBlbnRpcmUgdHJhbnNhY3Rp
b24uCi0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFu
ZG9tRGF0YSkgVkFMVUVTIChaRVJPQkxPQigxMCkpIiwgW10sCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxvZygiVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBoYXZlIGJlZW4gcnVuLiIpOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICB9LCBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsKLSAgICAgICAgfQotICAgIH0s
IGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgIHRyYW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwg
ZXJyb3IpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBjaGVja0NvbXBsZXRpb24oZGIp
OwotICAgIH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0RGF0YWJhc2UoZGIpCi17Ci0gICAgZGIudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgbG9nKCJBZGRpbmcgYSB0YWJsZSIpOwot
ICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgRGF0YVRlc3QgKHJhbmRvbURhdGEp
IiwgW10sCi0gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBz
dGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAg
ICB0cmFuc2FjdGlvbkVycm9yRnVuY3Rpb24oZGIsIGVycm9yKTsKLSAgICB9LCBmdW5jdGlvbigp
IHsKLSAgICAgICAgYWRkRGF0YShkYik7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3Qo
KQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcERhdGFiYXNlQ2FsbGJhY2tzKCk7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLnNldERhdGFiYXNlUXVvdGEoNDA5NjApOwotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICBkYXRhYmFzZTEgPSBvcGVuRGF0YWJhc2UoIlF1b3Rh
TWFuYWdlbWVudERhdGFiYXNlMSIsICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdlbWVudCA8
cmRhcjovLzU2Mjg0Njg+IiwgMSk7Ci0gICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMSk7Ci19Ci0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UaGlzIHRl
c3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5mb3JjZWQgcGVyLW9yaWdp
biBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHByaW9yIHRvIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8yOTk4My48YnI+Ci1UaGUg
dGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNlcywgc2V0cyB0aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4g
dG8gNDBrLCB0aGVuIHRyaWVzIHRvIGluc2VydCAxN2sgb2YgZGF0YSBpbnRvIHR3byBkYXRhYmFz
ZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFubmVkLCB0aGUgc2Vjb25kIGluc2VydCBzaG91bGQgZmFp
bCwgdGhlIFVJIERlbGVnYXRlIHNob3VsZCBiZSBpbmZvcm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVv
dGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0aGUgcXVvdGEgZm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRp
bmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJkIHRpbWUgc2hvdWxkIHN1Y2NlZWQgYWdhaW4uCi08cHJl
IGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10
b2dldGhlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRl
LXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGNjODk3OWMzY2I1MDdkOTIwMDA1NzdmOGZmY2M3NzA0N2YyMTU3
ZDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXItZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotVGhpcyB0ZXN0
IHRlc3RzIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5k
bGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvbid0IHJ1biB0b2dldGhlci4KLVRyYW5zYWN0aW9u
IHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vz
c2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgot
VHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2Fj
dGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1
Y2Nlc3NmdWwuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVhZC1hbmQtd3Jp
dGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMWRhMzU2NzhjMWMwMTQ4MmE2NDUxNDUyZWNh
NDUwMGY4ZmM5ODU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQt
cnVuLXRvZ2V0aGVyLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9InJlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10
b2dldGhlci5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVu
VGVzdCgpOyI+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCByZWFkIGFuZCB3cml0ZSB0cmFuc2FjdGlv
bnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgZG9uJ3QgcnVuIHRv
Z2V0aGVyLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVu
LgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRv
Z2V0aGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YjgxN2JhZDMzMDczNzFk
N2FkMTk5YjQwYmYxMTliNWIwNTYzN2Q0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNh
Y3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBA
QAotZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwot
fQotCi1mdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKLXsKLSAgICByZXR1cm4gb3BlbkRhdGFi
YXNlV2l0aFN1ZmZpeCgiUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zRG9udFJ1blRvZ2V0aGVyVGVz
dCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcmVhZCBhbmQg
d3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIHRvIHRoZSBzYW1lIERC
IGRvbid0IHJ1biBhdCB0aGUgc2FtZSB0aW1lLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMzI3NjgpOwotfQotCi12YXIgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAw
OwotdmFyIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9IDA7Ci12YXIgdG90YWxUcmFuc2Fj
dGlvbnMgPSAwOwotdmFyIGZpbmlzaGVkVHJhbnNhY3Rpb25zID0gMDsKLQotZnVuY3Rpb24gcnVu
VHJhbnNhY3Rpb24oZGIsIHJlYWRPbmx5KQotewotICAgIHZhciB0cmFuc2FjdGlvbkZ1bmN0aW9u
ID0gKHJlYWRPbmx5ID8gZGIucmVhZFRyYW5zYWN0aW9uIDogZGIudHJhbnNhY3Rpb24pOwotICAg
IHRyYW5zYWN0aW9uRnVuY3Rpb24uY2FsbChkYiwgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAg
IGlmIChyZWFkT25seSkgewotICAgICAgICAgICAgICAgIGlmICh3cml0ZVRyYW5zYWN0aW9uc0lu
UHJvZ3Jlc3MgIT0gMCkgewotICAgICAgICAgICAgICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rp
b24gc3RhcnRpbmcgd2hpbGUgd3JpdGUgdHJhbnNhY3Rpb24gaW4gcHJvZ3Jlc3MuIik7Ci0gICAg
ICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MrKzsKLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAh
PSAwKSB8fCAod3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzICE9IDApKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGxvZygiV3JpdGUgdHJhbnNhY3Rpb24gc3RhcnRpbmcgd2hpbGUgYW5vdGhlciB0
cmFuc2FjdGlvbiBpbiBwcm9ncmVzcy4iKTsKLSAgICAgICAgICAgICAgICAgICAgdGVybWluYXRl
VGVzdCgpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB3cml0ZVRyYW5zYWN0
aW9uc0luUHJvZ3Jlc3MrKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIlNFTEVDVCAqIEZST00gVGVzdDsiKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsK
LSAgICAgICAgICAgIGxvZygocmVhZE9ubHkgPyAiUmVhZCIgOiAiV3JpdGUiKSArICIgdHJhbnNh
Y3Rpb24gZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICB0ZXJtaW5hdGVU
ZXN0KCk7Ci0gICAgICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgIGZpbmlzaGVkVHJh
bnNhY3Rpb25zKys7Ci0gICAgICAgICAgICAgaWYgKHJlYWRPbmx5KQotICAgICAgICAgICAgICAg
ICByZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwotICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAgd3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzLS07Ci0gICAgICAgICAgICAg
bG9nKCJUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLiIpOwotICAgICAgICAgICAgIGlmICgoZmluaXNo
ZWRUcmFuc2FjdGlvbnMgPT0gdG90YWxUcmFuc2FjdGlvbnMpICYmIChyZWFkVHJhbnNhY3Rpb25z
SW5Qcm9ncmVzcyA9PSAwKSAmJiAod3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzID09IDApKQot
ICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgIH0pOwotfQotCi1mdW5j
dGlvbiBydW5SZWFkQW5kV3JpdGVUcmFuc2FjdGlvbnMoZGIxLCBkYjIsIGRiMykKLXsKLSAgICB0
b3RhbFRyYW5zYWN0aW9ucyA9IDEwOwotICAgIGZpbmlzaGVkVHJhbnNhY3Rpb25zID0gMDsKLSAg
ICBydW5UcmFuc2FjdGlvbihkYjEsIHRydWUpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgdHJ1
ZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIxLCBmYWxzZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24o
ZGIxLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihkYjIsIHRydWUpOwotICAgIHJ1blRyYW5z
YWN0aW9uKGRiMywgdHJ1ZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIxLCBmYWxzZSk7Ci0gICAg
cnVuVHJhbnNhY3Rpb24oZGIyLCBmYWxzZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVl
KTsKLSAgICBydW5UcmFuc2FjdGlvbihkYjMsIHRydWUpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0
KCkgewotICAgIHZhciBkYjEgPSBvcGVuVGVzdERhdGFiYXNlKCk7Ci0gICAgdmFyIGRiMiA9IG9w
ZW5UZXN0RGF0YWJhc2UoKTsKLSAgICB2YXIgZGIzID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAg
IGRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7Iik7Ci0gICAgICAg
IH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICBsb2coIkNhbm5vdCBjcmVhdGUgdGhl
IFRlc3QgdGFibGU6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgIHRlcm1pbmF0ZVRl
c3QoKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBydW5SZWFkQW5kV3Jp
dGVUcmFuc2FjdGlvbnMoZGIxLCBkYjIsIGRiMyk7Ci0gICAgICAgIH0pOwotfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJl
bnRseS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25z
LXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZjU4ZDJkZmU2YWJiMWEzMTQ1N2ViNTE3OWVkZjRjZjAwMDgxZjY4NS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdHdvIHJl
YWQtb25seSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0
YWJhc2UgcnVuIGNvbmN1cnJlbnRseS4KLVJlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3Vy
cmVudGx5LgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rp
b25zLXJ1bm5pbmctY29uY3VycmVudGx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQt
dHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGIyZDg2MmMxZTZjZTgyNGY0MDg4NTg1ODRiOTU4NzE5Yjk1Y2MwYmQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0KLWZ1
bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCi17Ci0g
ICAgcmV0dXJuIG9wZW5EYXRhYmFzZSgiUmVhZFRyYW5zYWN0aW9uc1J1bm5pbmdDb25jdXJyZW50
bHlUZXN0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAg
ICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgbXVsdGlwbGUgcmVhZCB0cmFuc2FjdGlv
bnMgb24gZGlmZmVyZW50IERCIGhhbmRsZXMgdG8gdGhlIHNhbWUgREIgcnVuIGNvbmN1cnJlbnRs
eS4iLAotICAgICAgICAgICAgICAgICAgICAgICAgMzI3NjgpOwotfQotCi12YXIgcmVhZFRyYW5z
YWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwotCi1mdW5jdGlvbiBydW5SZWFkVHJhbnNhY3Rpb24oZGIp
Ci17Ci0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICBy
ZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcysrOwotICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikg
ewotICAgICAgICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1l
c3NhZ2UpOwotICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICB9LCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgIGlmIChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAyKQot
ICAgICAgICAgICAgICAgIGxvZygiUmVhZCB0cmFuc2FjdGlvbnMgcnVubmluZyBjb25jdXJyZW50
bHkuIik7Ci0gICAgICAgICAgICByZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwotICAgICAg
ICAgICAgaWYgKHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID09IDApCi0gICAgICAgICAgICAg
ICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgp
IHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIHRyeSB7Ci0gICAgICAgIHZhciBkYjEg
PSBvcGVuVGVzdERhdGFiYXNlKCk7Ci0gICAgICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNl
KCk7Ci0gICAgICAgIGRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBp
bnQpOyIpOwotICAgICAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAg
ICBsb2coIkNhbm5vdCBjcmVhdGUgdGhlIFRlc3QgdGFibGU6ICIgKyBlcnJvci5tZXNzYWdlKTsK
LSAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICB9LCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICBydW5SZWFkVHJhbnNhY3Rpb24oZGIxKTsKLSAgICAgICAg
ICAgICAgICBydW5SZWFkVHJhbnNhY3Rpb24oZGIyKTsKLSAgICAgICAgICAgIH0pOwotICAgICB9
IGNhdGNoKGVycikgeyBsb2coZXJyKTsgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdHdvIHJlYWQtb25seSB0
cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcnVu
IGNvbmN1cnJlbnRseS48YnI+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQxZWI0MTAyZTUxOGNkOTk2NWUzY2EwZTQwMTJiMmE1MWQ1MWZlNzguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMjkg
KzAsMCBAQAotdmFyIERCX1RFU1RfU1VGRklYID0gIl9kb20iOwotCi1mdW5jdGlvbiBvcGVuRGF0
YWJhc2VXaXRoU3VmZml4KG5hbWUsIHZlcnNpb24sIGRlc2NyaXB0aW9uLCBzaXplLCBjYWxsYmFj
aykKLXsKLSAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDQpIHsKLSAgICAgICAgcmV0dXJuIG9w
ZW5EYXRhYmFzZShuYW1lICsgREJfVEVTVF9TVUZGSVgsIHZlcnNpb24sIGRlc2NyaXB0aW9uLCBz
aXplLCBjYWxsYmFjayk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgcmV0dXJuIG9wZW5EYXRhYmFz
ZShuYW1lICsgREJfVEVTVF9TVUZGSVgsIHZlcnNpb24sIGRlc2NyaXB0aW9uLCBzaXplKTsKLSAg
ICB9Ci19Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOwotfQotCi1mdW5j
dGlvbiBzZXRMb2NhdGlvbkhhc2goaGFzaCkgewotICAgIGxvY2F0aW9uLmhhc2ggPSBoYXNoOwot
fQotCi1mdW5jdGlvbiBzZXR1cEFuZFJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAg
fQotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ID0gIiI7
Ci0gICAgcnVuVGVzdCgpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNv
dXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZTBmMDljZWE3MWE1YjNkNTYwYjZkMjg3MzQ3ZTFkMDNm
OGJhODA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0PgotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotZnVuY3Rp
b24gZmluaXNoVGVzdCgpCi17Ci0gICAgbG9nKCJUZXN0IHBhcnQgMiBDb21wbGV0ZSIpOwotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikK
LXsKLSAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlz
aFRlc3QoKTsKLX0KLQotZnVuY3Rpb24gYWRkRGF0YShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlv
bihmdW5jdGlvbih0eCkgewotICAgICAgICBsb2coIkluc2VydGluZyBzb21lIGRhdGEiKTsKLSAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHRlc3REYXRhKSBWQUxV
RVMgKD8pIiwgWyJBIl0sCi0gICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIGZ1
bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0aW9uKGVycm9yKTsgfSk7Ci0gICAgfSwgZnVu
Y3Rpb24oKSB7IH0sIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOwotfQotCi1mdW5jdGlv
biBydW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIHRyeSB7Ci0gICAg
ICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIxLjAi
LCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9ja2luZyIsIDUyNDI4ODApOwotICAgICAgICBhZGREYXRh
KGRhdGFiYXNlKTsKLSAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgbG9nKCJFcnJvciAtIGNvdWxk
IG5vdCBvcGVuIGRhdGFiYXNlIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9Ci19Ci0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cHJlIGlk
PSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvcmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBiOTlhZjNjNzk2MWY0MjdhODdhNmVmN2ZhYWYwZDE0YjI4OWJjNzIyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvcmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTEg
KzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLXZhciBk
YjsKLQotdHJ5IHsKLSAgICBpZiAod2luZG93Lm9wZW5EYXRhYmFzZSkgewotICAgICAgICBkYiA9
IG9wZW5EYXRhYmFzZSgiU3RyZXNzVGVzdDIiLCAiMS4wIiwgIkRhdGFiYXNlIHN0cmVzcyB0ZXN0
IiwgMjAwMDAwKTsKLSAgICAgICAgaWYgKCFkYikKLSAgICAgICAgICAgIGFsZXJ0KCJGYWlsZWQg
dG8gb3BlbiB0aGUgZGF0YWJhc2Ugb24gZGlzay4gIFRoaXMgaXMgcHJvYmFibHkgYmVjYXVzZSB0
aGUgdmVyc2lvbiB3YXMgYmFkIG9yIHRoZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2UgbGVmdCBpbiB0
aGlzIGRvbWFpbidzIHF1b3RhIik7Ci0gICAgfSBlbHNlCi0gICAgICAgIGFsZXJ0KCJDb3VsZG4n
dCBvcGVuIHRoZSBkYXRhYmFzZS4gIFBsZWFzZSB0cnkgd2l0aCBhIFdlYktpdCBuaWdodGx5IHdp
dGggdGhpcyBmZWF0dXJlIGVuYWJsZWQiKTsKLX0gY2F0Y2goZXJyKSB7IH0KLQotZnVuY3Rpb24g
bG9hZGVkKCkKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0
eC5leGVjdXRlU3FsKCJTRUxFQ1QgQ09VTlQoKikgRlJPTSBXZWJraXRTdGlja3lOb3RlcyIsIFtd
LCBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgICAgIGxvYWROb3RlcygpOwotICAgICAgICB9
LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFU
RSBUQUJMRSBXZWJLaXRTdGlja3lOb3RlcyAoaWQgUkVBTCBVTklRVUUsIG5vdGUgVEVYVCkiLCBb
XSwgZnVuY3Rpb24ocmVzdWx0KSB7IAotICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklO
U0VSVCBJTlRPIFdlYktpdFN0aWNreU5vdGVzIChpZCwgbm90ZSkgVkFMVUVTICg/LCA/KSIsIFsx
LCAnVGV4dCddLCBmdW5jdGlvbihyZXN1bHQpIHsgCi0gICAgICAgICAgICAgICAgICAgIHR4LmV4
ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFdlYktpdFN0aWNreU5vdGVzIChpZCwgbm90ZSkgVkFMVUVT
ICg/LCA/KSIsIFsyLCAnTW9yZSBUZXh0J10sIGZ1bmN0aW9uKHJlc3VsdCkgeyAKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGxvYWROb3RlcygpOyAKLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0gICAgfSk7
Ci19Ci0KLWZ1bmN0aW9uIGxvYWROb3RlcygpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIGlkLCBub3RlIEZST00gV2Vi
S2l0U3RpY2t5Tm90ZXMiLCBbXSwgZnVuY3Rpb24odHgsIHJlc3VsdCkgewotICAgICAgICAgICAg
bG9hZE5vdGVzKCk7Ci0gICAgICAgIH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAg
ICAgYWxlcnQoJ0ZhaWxlZCB0byByZXRyaWV2ZSBub3RlcyBmcm9tIGRhdGFiYXNlIC0gJyArIGVy
cm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9KTsKLSAgICB9KTsK
LX0KLQotYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGxvYWRlZCwgZmFsc2UpOwotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRoaXMgdGVzdCBuZWVkcyB0byBydW4gd2l0aG91dCBjcmFz
aGVzIGFuZCBhc3NlcnRpb24gZmFpbHVyZXMgZm9yIGEgd2hpbGUuPHA+Ci08L2JvZHk+Ci08L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNjBjYWY1MjNiODcyOGUwYzU2NGQ2ZGE1
OWFkYzZkMjg2ZmU1MmI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1QQVNTOiBwcm9wZXJ0eSAndGltZXN0YW1wJyBv
aywgdHlwZSB3YXMgbnVtYmVyCi1QQVNTOiBwcm9wZXJ0eSAnaWQnIG9rLCB0eXBlIHdhcyBudW1i
ZXIKLVBBU1M6IHByb3BlcnR5ICdyZWFsJyBvaywgdHlwZSB3YXMgbnVtYmVyCi1QQVNTOiBwcm9w
ZXJ0eSAndGV4dCcgb2ssIHR5cGUgd2FzIHN0cmluZwotUEFTUzogcHJvcGVydHkgJ2Jsb2InIG9r
LCB0eXBlIHdhcyBzdHJpbmcKLVBBU1M6IGRhdGFiYXNlIGNsZWFuIHVwIG9rLgotCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNkMWM5OGY4NDRjMDczYjM5ZWIzYTZkNTQ1ZmE0MDAzMzQ0ZGExYjQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9z
cWwtZGF0YS10eXBlcy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBAQAotPGh0bWw+
Ci08aGVhZD4KLTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InNxbC1kYXRhLXR5
cGVzLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
PHByZSBpZD0iY29uc29sZSI+PC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3NxbC1kYXRhLXR5cGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNmZj
ZDAxM2I2NjdmYmI1MGUwMGIxNDA4MDcxOWJkM2I0MTcxZGQyLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEt
dHlwZXMuanMKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi0vL2Rlc2NyaXB0aW9uKCJU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgamF2YXNjcmlwdCB2YWx1ZXMgcmV0dXJuZWQgYnkg
ZGF0YWJhc2UgcXVlcmllcyBhcmUgb2Ygc2FtZSB0eXBlIGFzIHRoZSB2YWx1ZXMgcHV0IGludG8g
dGhlIGRhdGFiYXNlLiIpOwotCi1mdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQot
ewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1l
c3NhZ2UgKyAiXG4iOwotfQotCi1mdW5jdGlvbiBub3RpZnlEb25lKHN0cikgewotICAgIHdyaXRl
TWVzc2FnZVRvTG9nKHN0cik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi12YXIgdGVz
dFZhbHVlcyA9IHsKLSAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCJXZWQgRmViIDA2IDIwMDggMTI6
MTY6NTIgR01UKzAyMDAgKEVFVCkiKS52YWx1ZU9mKCksCi0gICAgaWQ6IDEwMDEsCi0gICAgcmVh
bDogMTAxLjQ0NCwKLSAgICB0ZXh0OiAiV2ViS2l0IGRiIFRFWFQiLAotICAgIGJsb2I6ICJzdXBl
cmNhbGlmcmFnaWxpc3RpYyIKLX07Ci0KLWZ1bmN0aW9uIHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1
ZShwcm9wTmFtZSwgdGVzdFZhbHVlLCByZXN1bHQpIHsKLSAgICBpZiAodGVzdFZhbHVlID09IHJl
c3VsdCAmJiB0eXBlb2YgdGVzdFZhbHVlID09IHR5cGVvZiByZXN1bHQpIHsKLSAgICAgICAgd3Jp
dGVNZXNzYWdlVG9Mb2coIlBBU1M6IHByb3BlcnR5ICciICsgcHJvcE5hbWUgKyAiJyBvaywgdHlw
ZSB3YXMgIiArIHR5cGVvZiByZXN1bHQpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0g
ICAgd3JpdGVNZXNzYWdlVG9Mb2coIkZBSUw6IHByb3BlcnR5ICciICsgcHJvcE5hbWUgKyAiJyBm
YWlsZWQuIgotICAgICAgICArICIgZXhwZWN0ZWQ6ICIgKyB0eXBlb2YgdGVzdFZhbHVlICsgIjon
IiArIHRlc3RWYWx1ZSArICInICIKLSAgICAgICAgKyAiIGdvdDogIiArIHR5cGVvZiByZXN1bHQg
KyAiOiciICsgcmVzdWx0ICsiJyIpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24g
dGVzdERCVmFsdWVzKHR4LCByZXN1bHQpIHsKLSAgICB2YXIgcnMgPSByZXN1bHQucm93cy5pdGVt
KDApOwotICAgIC8vIEF2b2lkIGZvciAuLiBpbiBiZWNhdXNlICh0aGVyZXRpY2FsbHkpIHRoZSBv
cmRlciBjYW4gY2hhbmdlCi0gICAgaSA9ICJ0aW1lc3RhbXAiOyBzaG91bGRCZVNhbWVUeXBlQW5k
VmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOwotICAgIGkgPSAiaWQiOyBzaG91bGRCZVNh
bWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOwotICAgIGkgPSAicmVhbCI7
IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7Ci0gICAg
aSA9ICJ0ZXh0Ijsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJz
W2ldKTsKLSAgICBpID0gImJsb2IiOyBzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZh
bHVlc1tpXSwgcnNbaV0pOwotICAgIAotICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgVEFCTEUgRGF0
YVR5cGVUZXN0VGFibGUiLCBbXSwKLSAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgewotICAg
ICAgICAgICAgbm90aWZ5RG9uZSgiUEFTUzogZGF0YWJhc2UgY2xlYW4gdXAgb2suIik7Ci0gICAg
ICAgIH0sCi0gICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAgIG5vdGlm
eURvbmUoIkZBSUw6IERhdGFiYXNlIGNsZWFuIHVwIGZhaWxlZC4iKTsKLSAgICAgICAgfSk7Ci19
Ci0KLWZ1bmN0aW9uIGZldGNoREJWYWx1ZXNTdG10KHR4LCByZXN1bHQpIHsKLSAgICB0eC5leGVj
dXRlU3FsKCJTRUxFQ1QgKiBGUk9NIERhdGFUeXBlVGVzdFRhYmxlIiwgW10sCi0gICAgICAgIHRl
c3REQlZhbHVlcywKLSAgICAgICAgZnVuY3Rpb24odHgsZXJyb3IpIHsKLSAgICAgICAgICAgIG5v
dGlmeURvbmUoIkZBSUw6IEVycm9yIGZldGNoaW5nIHZhbHVlcyBmcm9tIHRoZSBkYi4iKQotICAg
ICAgICB9KTsKLX0KLQotZnVuY3Rpb24gaW5zZXJ0VGVzdFZhbHVlc1N0bXQodHgsIHJlc3VsdCkg
ewotICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUeXBlVGVzdFRhYmxlIChpZCwg
cmVhbCwgdGltZXN0YW1wLCB0ZXh0LCBibG9iKSBWQUxVRVMgKD8sPyw/LD8sPykiLAotICAgICAg
ICBbdGVzdFZhbHVlcy5pZCwgdGVzdFZhbHVlcy5yZWFsLCB0ZXN0VmFsdWVzLnRpbWVzdGFtcCwg
dGVzdFZhbHVlcy50ZXh0LCB0ZXN0VmFsdWVzLmJsb2JdLAotICAgICAgICBmZXRjaERCVmFsdWVz
U3RtdCwKLSAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7Ci0gICAgICAgICAgICBub3RpZnlE
b25lKCJGQUlMOiBFcnJvciBpbnNlcnRpbmcgdmFsdWVzIHRvIHRoZSBkYi4iKTsKLSAgICAgICAg
fSk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZVRlc3REQlN0bXQodHgpCi17Ci0gICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRGF0YVR5cGVUZXN0VGFibGUgKGlkIElO
VEVHRVIgVU5JUVVFLCByZWFsIFJFQUwsIHRpbWVzdGFtcCBJTlRFR0VSLCB0ZXh0IFRFWFQsIGJs
b2IgQkxPQikiLCBbXSwKLSAgICAgICAgaW5zZXJ0VGVzdFZhbHVlc1N0bXQsCi0gICAgICAgIGZ1
bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3Ig
Y3JlYXRpbmcgdGhlIGRiLiIpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgp
IHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkRh
dGFUeXBlVGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIHNxbCBkYXRhIHR5cGUgdGVzdCIsIDEp
OwotICAgIGlmIChkYikKLSAgICAgICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlVGVzdERCU3RtdCk7
Ci0gICAgZWxzZQotICAgICAgICBub3RpZnlEb25lKCJGQUlMOiBFcnJvciBvcGVuaW5nIHRoZSBk
YiIpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTk3NzZhNWZmNzFjYWI1NzI2
MWE3YWE0NGYzMGE5ODE1N2I0YzJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXhj
ZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4KLUNPTlNPTEUgTUVTU0FHRTog
Q2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlzIG9iamVjdC4KLVRoaXMgdGVzdCB0ZXN0cyB0
aGUgZXJyb3IgY29kZXMgcmVwb3J0ZWQgaW4gZXhjZXB0aW9uYWwgc2l0dWF0aW9ucy4KLVBBU1M6
IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQg
YW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCi1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVy
cm9yIGNvZGUgU1lOVEFYX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZ
TlRBWF9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgot
UEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFFVT1RBX0VSUgotUEFTUzogZXhwZWN0
ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFZFUlNJT05fRVJSCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Nx
bC1lcnJvci1jb2Rlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYzcwYzZj
YWZlODg5YzdlOGJhNGVmMDhmNTkzODdlMGQzZTE1YjFjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNv
ZGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9InNxbC1lcnJvci1jb2Rlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNv
ZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuPGJyPgotPHByZSBpZD0iY29u
c29sZSI+Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDJkMmM5N2M4MWZhODViYzM2ZDQ2ZGY4NWZiN2JkMTI2YTNhNTg2ZDguLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQgKzAsMCBA
QAotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQot
Ci12YXIgVE9UQUxfVEVTVFMgPSA3OwotdmFyIHRlc3RzUnVuID0gMDsKLWZ1bmN0aW9uIHRyYW5z
YWN0aW9uRXJyb3JDYWxsYmFjayhlcnJvciwgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKQotewotICAg
IGlmIChlcnJvci5jb2RlID09IGVycm9yW2V4cGVjdGVkRXJyb3JDb2RlTmFtZV0pIHsKLSAgICAg
ICAgbG9nKCJQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgIiArIGV4cGVjdGVkRXJy
b3JDb2RlTmFtZSk7Ci0gICAgICAgIGlmICgrK3Rlc3RzUnVuID09IFRPVEFMX1RFU1RTKQotICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGxvZygiRkFJTDog
ZXhwZWN0ZWQgZXJyb3IgY29kZSAiICsgZXhwZWN0ZWRFcnJvckNvZGVOYW1lICsgIiAoIiArIGVy
cm9yW2V4cGVjdGVkRXJyb3JDb2RlTmFtZV0gKyAiKTsgZ290ICIgKyBlcnJvci5jb2RlKTsKLSAg
ICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gdHJhbnNhY3Rpb25TdWNj
ZXNzQ2FsbGJhY2soKQotewotICAgIGxvZygiRkFJTDogYSB0cmFuc2FjdGlvbiBoYXMgY29tcGxl
dGVkIHN1Y2Nlc3NmdWxseS4iKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3RUcmFuc2FjdGlvbihkYiwgdHJhbnNhY3Rpb25DYWxsYmFjaywgZXhwZWN0ZWRFcnJvckNvZGVO
YW1lKQotewotICAgIGRiLnRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uQ2FsbGJhY2ssCi0gICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgdHJh
bnNhY3Rpb25FcnJvckNhbGxiYWNrKGVycm9yLCBleHBlY3RlZEVycm9yQ29kZU5hbWUpOwotICAg
ICAgICAgICAgICAgICAgIH0sIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrKTsKLX0KLQotZnVu
Y3Rpb24gdGVzdFRyYW5zYWN0aW9uVGhyb3dzRXhjZXB0aW9uKGRiKQotewotICAgIHRlc3RUcmFu
c2FjdGlvbihkYiwgZnVuY3Rpb24odHgpIHsgdGhyb3cgIkV4Y2VwdGlvbiB0aHJvd24gaW4gdHJh
bnNhY3Rpb24gY2FsbGJhY2suIjsgfSwgIlVOS05PV05fRVJSIik7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRGYWlsdXJlKGRiKQotewotICAg
IHRlc3RUcmFuc2FjdGlvbihkYiwKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkJBRCBTVEFURU1FTlQiLCBb
XSwgbnVsbCwgZnVuY3Rpb24odHgsIGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICAgICAg
ICAgICAgICAgICAgfSwgIlVOS05PV05fRVJSIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RJbnZhbGlk
U3RhdGVtZW50KGRiKQotewotICAgIHRlc3RUcmFuc2FjdGlvbihkYiwgZnVuY3Rpb24odHgpIHsg
dHguZXhlY3V0ZVNxbCgiQkFEIFNUQVRFTUVOVCIpOyB9LCAiU1lOVEFYX0VSUiIpOwotfQotCi1m
dW5jdGlvbiB0ZXN0SW5jb3JyZWN0TnVtYmVyT2ZCaW5kUGFyYW1ldGVycyhkYikKLXsKLSAgICB0
ZXN0VHJhbnNhY3Rpb24oZGIsCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9U
IEVYSVNUUyBCYWRCaW5kTnVtYmVyVGVzdCAoRm9vIElOVCwgQmFyIElOVCkiKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEJhZEJpbmROdW1iZXJU
ZXN0IFZBTFVFUyAoPywgPykiLCBbMV0pOwotICAgICAgICAgICAgICAgICAgICB9LCAiU1lOVEFY
X0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0QmluZFBhcmFtZXRlck9mV3JvbmdUeXBlKGRiKQot
ewotICAgIHZhciBiYWRTdHJpbmcgPSB7IH07Ci0gICAgYmFkU3RyaW5nLnRvU3RyaW5nID0gZnVu
Y3Rpb24oKSB7IHRocm93ICJDYW5ub3QgY2FsbCB0b1N0cmluZygpIG9uIHRoaXMgb2JqZWN0LiIg
fTsKLQotICAgIHRlc3RUcmFuc2FjdGlvbihkYiwgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQmFkQmluZFR5cGVUZXN0IChG
b28gVEVYVCkiKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gQmFkQmluZFR5
cGVUZXN0IFZBTFVFUyAoPykiLCBbYmFkU3RyaW5nXSk7Ci0gICAgfSwgIlVOS05PV05fRVJSIik7
Ci19Ci0KLWZ1bmN0aW9uIHRlc3RRdW90YUV4Y2VlZGVkKGRiKQotewotICAgIHRlc3RUcmFuc2Fj
dGlvbihkYiwKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFF1
b3RhVGVzdCAoRm9vIEJMT0IpIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRl
U3FsKCJJTlNFUlQgSU5UTyBRdW90YVRlc3QgVkFMVUVTIChaRVJPQkxPQigxMCAqIDEwMjQgKiAx
MDI0KSkiKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlFVT1RBX0VSUiIpOwotfQotCi1mdW5j
dGlvbiB0ZXN0VmVyc2lvbk1pc21hdGNoKGRiKQotewotICAgIC8vIFVzZSBhbm90aGVyIERCIGhh
bmRsZSB0byBjaGFuZ2UgdGhlIHZlcnNpb24uIEhvd2V2ZXIsIGluIG9yZGVyIHRvIG1ha2Ugc3Vy
ZSB0aGF0IHRoZSBEQiB2ZXJzaW9uIGlzIG5vdAotICAgIC8vIGNoYW5nZWQgYmVmb3JlIHRoZSB0
cmFuc2FjdGlvbnMgaW4gdGhlIG90aGVyIHRlc3RzIGhhdmUgcnVuLCB3ZSBuZWVkIHRvIGRvIGl0
IGluIGEgdHJhbnNhY3Rpb24gb24gJ2RiJy4KLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0
eCkgewotICAgICAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiU1FMRXJyb3JD
b2Rlc1Rlc3QiLCAiMS4wIiwgIlRlc3RzIHRoZSBlcnJvciBjb2Rlcy4iLCAxKTsKLSAgICAgICAg
ZGIyLmNoYW5nZVZlcnNpb24oIjEuMCIsICIyLjAiLCBmdW5jdGlvbih0eCkgeyB9LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbG9nKCJGQUlMOiBjb3VsZCBub3QgY2hhbmdlIHRoZSBEQiB2ZXJzaW9uLiIp
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsgfSk7Ci0gICAgICAgIH0pOwotCi0gICAg
dGVzdFRyYW5zYWN0aW9uKGRiLAotICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiVEhJUyBTVEFURU1FTlQgU0hP
VUxEIE5FVkVSIEdFVCBFWEVDVVRFRCIpOwotICAgICAgICAgICAgICAgICAgICB9LCAiVkVSU0lP
Tl9FUlIiKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxE
YXRhYmFzZXMoKTsKLQotICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlNRTEVy
cm9yQ29kZXNUZXN0IiwgIjEuMCIsICJUZXN0cyB0aGUgZXJyb3IgY29kZXMuIiwgMSk7Ci0gICAg
dGVzdFRyYW5zYWN0aW9uVGhyb3dzRXhjZXB0aW9uKGRiKTsKLSAgICB0ZXN0VHJhbnNhY3Rpb25G
YWlsdXJlQmVjYXVzZU9mU3RhdGVtZW50RmFpbHVyZShkYik7Ci0gICAgdGVzdEludmFsaWRTdGF0
ZW1lbnQoZGIpOwotICAgIHRlc3RJbmNvcnJlY3ROdW1iZXJPZkJpbmRQYXJhbWV0ZXJzKGRiKTsK
LSAgICB0ZXN0QmluZFBhcmFtZXRlck9mV3JvbmdUeXBlKGRiKTsKLSAgICB0ZXN0UXVvdGFFeGNl
ZWRlZChkYik7Ci0gICAgdGVzdFZlcnNpb25NaXNtYXRjaChkYik7Ci19CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0MDNkOWYwYzk2Nzg3MTU5MGMxNTE0
MDcwZTYwODA2N2U1MDEyMTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdF
OiBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCi1UaGlzIHRlc3QgY29uZmly
bXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBv
bmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwg
cmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCi1QQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2Fj
dGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
ZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sg
d2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQu
Ci1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVt
ZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM3Njg5NjM4YmQyYjhiZTVi
ODZiYjMzZTA1NmZmMDg1NTdhZDY4NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAg
QEAKLUFMRVJUOiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNp
YmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3Rz
IHRoYXQgdGhlIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0
IHdvcmxkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0
ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMTk2ZTQyYjAyOGVhYjJhYTJiMmRkM2JmZjYxNmY3NDE5NjA0NTEwMi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxi
b2R5PgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBp
cyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08
c2NyaXB0PgotdmFyIHN0YXRlbWVudEVycm9yQ2FsbGJhY2tzSW52b2tlZCA9IDA7Ci1mdW5jdGlv
biBkb25lKCkKLXsKLSAgICBpZiAoKCsrc3RhdGVtZW50RXJyb3JDYWxsYmFja3NJbnZva2VkID09
IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2Fs
bGJhY2sxKHR4LCBlcnJvcikKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRl
ZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2Fs
bGJhY2syKHR4LCBlcnJvcikKLXsKLSAgICBhbGVydChkb2N1bWVudC5ib2R5LmJhcik7Ci0gICAg
ZG9uZSgpOwotfQotCi1kb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5LmZv
byB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Ci1kb2N1bWVudC5ib2R5LmJhciA9ICJQQVNT
OiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlz
IHdvcmxkLiI7Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVk
V29ybGQoCi0gICAgICAgIDAsCi0gICAgICAgICJmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxi
YWNrMSh0eCwgZXJyb3IpXG4iICsKLSAgICAgICAgIntcbiIgKwotICAgICAgICAiICAgIGFsZXJ0
KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKwotICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0n
amF2YXNjcmlwdDpkb25lKCknO1xuIiArCi0gICAgICAgICJ9XG4iICsKLSAgICAgICAgInZhciBk
YjEgPSBvcGVuRGF0YWJhc2UoJ1N0YXRlbWVudEVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScs
ICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAgImRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0
eCkge1xuIiArCi0gICAgICAgICIgICAgdHguZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtd
LCBmdW5jdGlvbih0eCwgZGF0YSkge30sIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sxKTtcbiIgKwot
ICAgICAgICAifSk7Iik7Ci0KLSAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRF
cnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOwotICAgIGRiMi50cmFu
c2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRlU3FsKCdCQUQgU1RBVEVN
RU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjazIp
OwotICAgIH0pOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNmRiODM2ZDE2MThiOTkzMjQ1Njg1MWFjOWY4ZTA3YTc2Y2MxNWZh
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsODcgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGxv
ZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5u
ZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQot
ewotICAgIGxvZygiVGVzdCBDb21wbGV0ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0K
LQotdmFyIHR4Q2FsbGJhY2tDb3VudCA9IDA7Ci12YXIgTlVNQkVSX09GX1RSQU5TQUNUSU9OUyA9
IDEwOwotdmFyIGRhdGFiYXNlOwotCi1mdW5jdGlvbiBydW5UcmFuc2FjdGlvbihleHBlY3RlZFRv
RmFpbCwgc3RhdGVtZW50RXJyb3JDYWxsYmFjaykKLXsKLSAgICBkYXRhYmFzZS50cmFuc2FjdGlv
bihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYg
Tk9UIEVYSVNUUyBUZXN0VGFibGUgKFJhbmRvbURhdGEgVEVYVCkiKTsKLSAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdFRhYmxlIFZBTFVFUyAoPykiLCBbJ3Rlc3QnXSk7Ci0g
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIlRISVMgU1RBVEVNRU5UIFdJTEwgRkFJTCIsIFtdLAotICAg
ICAgICAgICAgZnVuY3Rpb24odHgsIGRhdGEpIHsKLSAgICAgICAgICAgICAgICBsb2coIkZBSUwg
LSB0aGlzIHN0YXRlbWVudCBzaG91bGQgaGF2ZSBmYWlsZWQiKTsKLSAgICAgICAgICAgICAgICBm
aW5pc2hUZXN0KCk7Ci0gICAgICAgICAgICB9LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKTsKLSAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdFRhYmxlIFZBTFVFUyAoPykiLCBb
J3Rlc3QxJ10sCi0gICAgICAgICAgICBmdW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgICAg
IGlmIChleHBlY3RlZFRvRmFpbCkKLSAgICAgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gVGhp
cyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBoYXZlIGJlZW4gZXhlY3V0ZWQiKTsKLSAgICAgICAgICAg
IH0sIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZFRvRmFpbCkKLSAg
ICAgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBo
YXZlIGJlZW4gZXhlY3V0ZWQiKTsKLSAgICAgICAgICAgIH0pOwotICAgIH0sIGZ1bmN0aW9uKGVy
cm9yKSB7Ci0gICAgICAgIGlmIChleHBlY3RlZFRvRmFpbCkKLSAgICAgICAgICAgIGxvZygiUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4iKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNh
bGxiYWNrIHNob3VsZCBub3QgaGF2ZSBiZWVuIGludm9rZWQuIik7Ci0gICAgICAgIGlmICgrK3R4
Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJT05TKQotICAgICAgICAgICAgZmlu
aXNoVGVzdCgpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAoZXhwZWN0ZWRUb0Zh
aWwpCi0gICAgICAgICAgICBsb2coIkZBSUwgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxs
YmFjayBzaG91bGQgbm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBsb2coIlBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMg
aW52b2tlZC4iKTsKLSAgICAgICAgaWYgKCsrdHhDYWxsYmFja0NvdW50ID09IE5VTUJFUl9PRl9U
UkFOU0FDVElPTlMpCi0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSk7Ci19Ci0KLWZ1
bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgfQotCi0gICAgZGF0YWJhc2UgPSBv
cGVuRGF0YWJhc2UoIlN0YXRlbWVudEVycm9yQ2FsbGJhY2tUZXN0IiwgIjEuMCIsICJzdGF0ZW1l
bnQgZXJyb3IgY2FsbGJhY2sgdGVzdCIsIDEwMjQpOwotCi0gICAgcnVuVHJhbnNhY3Rpb24odHJ1
ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9u
KHRydWUsIGZ1bmN0aW9uKGVycm9yKSB7IHRocm93ICJFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVy
cm9yIGNhbGxiYWNrIjsgcmV0dXJuIGZhbHNlOyB9KTsKLSAgICBydW5UcmFuc2FjdGlvbih0cnVl
LCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gInNvbWUgc3RyaW5nIjsgfSk7Ci0gICAgcnVuVHJh
bnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuIDEyMzQ7IH0pOwotICAgIHJ1
blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiB7YTogMiwgYjogImFi
YyJ9OyB9KTsKLSAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1
cm4gImZhbHNlIjsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9y
KSB7fSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVy
biBmYWxzZTsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7
IHJldHVybiAwOyB9KTsKLSAgICBydW5UcmFuc2FjdGlvbihmYWxzZSwgZnVuY3Rpb24oZXJyb3Ip
IHsgcmV0dXJuIG51bGw7IH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSB0cmFuc2FjdGlvbiBp
cyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBhIHN0YXRlbWVudCdzIGVy
cm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMgdHJ1ZSwgb3IgZG9lc24n
dCByZXR1cm4gYW55IHZhbHVlLgotPHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4K
LQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3Vj
Y2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmVmMDI3ZGZiZDFhMDQzNDYzZjIx
NzY5YjczNzE5YTg4ZTViZjZkMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotQUxFUlQ6IHVuZGVmaW5lZAotQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2li
bGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCi1UaGlzIHRlc3QgdGVzdHMg
dGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdo
dCB3b3JsZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3Vj
Y2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9z
dGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0ZmFjNzU0YjNjM2MyMGE4MmJhYzk4ZDI3YTg2NGUxNDc1ZmMx
MTNiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0
bWw+Ci08Ym9keT4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSBzdGF0ZW1lbnQgc3VjY2VzcyBj
YWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0PgotdmFyIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFja3NJbnZva2VkID0g
MDsKLWZ1bmN0aW9uIGRvbmUoKQotewotICAgIGlmICgoKytzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJh
Y2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0
ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKHR4LCBkYXRhKQotewotICAgIGFsZXJ0KCJGQUlMOiBWaXNp
YmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3Rh
dGVtZW50U3VjY2Vzc0NhbGxiYWNrMih0eCwgZGF0YSkKLXsKLSAgICBhbGVydChkb2N1bWVudC5i
b2R5LmJhcik7Ci0gICAgZG9uZSgpOwotfQotCi1kb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBk
b2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Ci1kb2N1bWVudC5i
b2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sg
Y3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVT
Y3JpcHRJbklzb2xhdGVkV29ybGQoCi0gICAgICAgIDAsCi0gICAgICAgICJmdW5jdGlvbiBzdGF0
ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKHR4LCBkYXRhKVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAg
ICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3
aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiAr
Ci0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRTdWNjZXNzQ2FsbGJh
Y2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAgImRiMS50cmFu
c2FjdGlvbihmdW5jdGlvbih0eCkge1xuIiArCi0gICAgICAgICIgICAgdHguZXhlY3V0ZVNxbCgn
Q1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCknLCBbXSwgc3RhdGVtZW50
U3VjY2Vzc0NhbGxiYWNrMSk7XG4iICsKLSAgICAgICAgIn0pOyIpOwotCi0gICAgdmFyIGRiMiA9
IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAn
MS4wJywgJycsIDEpOwotICAgIGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAg
ICB0eC5leGVjdXRlU3FsKCdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5U
KScsIFtdLCBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2syKTsKLSAgICB9KTsKLX0KLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNj
ZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1j
YWxsYmFjay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2MTkw
MjQ0MTc4YzNlYTJkZDkzYTU2MjMwMmE4MDZlYTg0ODk4NGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGhpcyB0
ZXN0IGNvbmZpcm1zIHRoYXQgYSBzdWNjZXNzZnVsIHRyYW5zYWN0aW9uIC0gYm90aCB3aXRoIGFu
ZCB3aXRob3V0IGEgc3RhdGVtZW50IC0gcmVjZWl2ZXMgaXRzIHN1Y2Nlc3NDYWxsYmFjawotVHJh
bnNhY3Rpb24gc3VjY2VlZGVkIC0gVHJhbnNhY3Rpb24gd2l0aCBvbmUgc3RhdGVtZW50Ci1UcmFu
c2FjdGlvbiBzdWNjZWVkZWQgLSBFbXB0eSB0cmFuc2FjdGlvbgotVGVzdCBDb21wbGV0ZQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2suaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjMjM3YWJhODJlMzA5NzI0ODFhYWJiNzA1MGQ1YTIxNDZlMjVjM2ZhLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFjay5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQot
ewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1l
c3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygi
VGVzdCBDb21wbGV0ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24g
ZXJyb3JGdW5jdGlvbihlcnJvcikKLXsKLSAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9y
Lm1lc3NhZ2UpOwotICAgIGZpbmlzaFRlc3QoKTsKLX0KLQotdmFyIHN1Y2Nlc3NDb3VudCA9IDA7
Ci0KLWZ1bmN0aW9uIHN1Y2Nlc3NGdW5jdGlvbihtZXNzYWdlKQotewotICAgIGxvZygiVHJhbnNh
Y3Rpb24gc3VjY2VlZGVkIC0gIiArIG1lc3NhZ2UpOwotICAgIGlmICgrK3N1Y2Nlc3NDb3VudCA9
PSAyKQotICAgICAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7Ci0gICAgfQotICAgIAotICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgi
U3VjY2Vzc0NhbGxiYWNrRGF0YWJhc2UiLCAiMS4wIiwgIlRlc3QgZm9yIHN1Y2Nlc3MgY2FsbGJh
Y2sgPHJkYXI6Ly81NzM3NjkyPiIsIDEpOwotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0
aW9uKHR4KSB7IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFN1Y2Nl
c3NDYWxsYmFja1Rlc3QgKHJhbmRvbURhdGEpIiwgW10pOyB9LCBlcnJvckZ1bmN0aW9uLCBmdW5j
dGlvbigpIHsgc3VjY2Vzc0Z1bmN0aW9uKCJUcmFuc2FjdGlvbiB3aXRoIG9uZSBzdGF0ZW1lbnQi
KTsgfSk7Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgZXJyb3JG
dW5jdGlvbiwgZnVuY3Rpb24oKSB7IHN1Y2Nlc3NGdW5jdGlvbigiRW1wdHkgdHJhbnNhY3Rpb24i
KTsgfSk7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Ci1UaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gLSBi
b3RoIHdpdGggYW5kIHdpdGhvdXQgYSBzdGF0ZW1lbnQgLSByZWNlaXZlcyBpdHMgc3VjY2Vzc0Nh
bGxiYWNrCi08cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXplci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXplci1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiZmFmZDQ5YmRjNmIzY2Q1ZmI3YjM4ODQyYTIx
ZDliYzQwZjYzYzAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotVGhpcyB0ZXN0IHRlc3RzIHRoZSBkYXRhYmFzZSBh
dXRob3JpemVyLgotU1FMSVRFX0NSRUFURV9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FM
SVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1Q
X1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1ZJRVcgc3RhdGVtZW50IHN1
Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FM
SVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1ZUQUJM
RSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQotU1FMSVRFX1JFQUQgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9TRUxF
Q1Qgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9ERUxFVEUgc3RhdGVtZW50IHN1Y2NlZWRl
ZC4KLVNRTElURV9JTlNFUlQgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9VUERBVEUgc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9QUkFHTUEgc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BTFRFUl9U
QUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBz
dWNjZWVkZWQuCi1TUUxJVEVfVFJBTlNBQ1RJT04gc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BVFRBQ0ggc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKLVNRTElURV9ERVRBQ0ggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUg
c3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9SRUlOREVYIHN0YXRlbWVudCBz
dWNjZWVkZWQuCi1TUUxJVEVfQU5BTFlaRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RST1BfSU5ERVggc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9EUk9QX1RFTVBfVEFCTEUgc3RhdGVtZW50IHN1Y2Nl
ZWRlZC4KLVNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FM
SVRFX0RST1BfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfRFJPUF9UUklH
R0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfRFJPUF9WSUVXIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCi1TUUxJVEVfRFJPUF9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotV3JpdGUgdHJh
bnNhY3Rpb24gc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVk
OiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVf
Q1JFQVRFX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX0lOREVYIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhv
cml6ZWQpCi1TUUxJVEVfQ1JFQVRFX1RFTVBfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9U
RU1QX1RSSUdHRVIgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9URU1QX1ZJRVcgc3RhdGVtZW50IGZh
aWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNR
TElURV9DUkVBVEVfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBz
dGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVtZW50
IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkK
LVNRTElURV9DUkVBVEVfVlRBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQ1JFQVRFX0lOREVYIHN0YXRl
bWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1RFTVBfVEFCTEUgc3RhdGVtZW50IHN1Y2Nl
ZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1T
UUxJVEVfQ1JFQVRFX1RFTVBfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFU
RV9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVt
ZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVlRBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfUkVB
RCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX1NFTEVDVCBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgotU1FMSVRFX0RFTEVURSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0
ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0lOU0VSVCBzdGF0ZW1lbnQgZmFpbGVk
OiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRF
X1VQREFURSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIz
IG5vdCBhdXRob3JpemVkKQotU1FMSVRFX1BSQUdNQSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBu
b3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0FMVEVSX1RB
QkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90
IGF1dGhvcml6ZWQpCi1TUUxJVEVfQUxURVJfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vIHN1Y2ggdGFibGU6IFRlc3RUYWJsZSkKLVNRTElU
RV9UUkFOU0FDVElPTiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0FUVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBj
b3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RF
VEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5v
dCBhdXRob3JpemVkKQotU1FMSVRFX1JFSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BTkFMWVpFIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhv
cml6ZWQpCi1TUUxJVEVfRFJPUF9JTkRFWCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RST1BfVEVNUF9UQUJM
RSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQotU1FMSVRFX0RST1BfVEVNUF9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJP
UF9URU1QX1ZJRVcgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX1RSSUdHRVIgc3RhdGVtZW50IGZhaWxl
ZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElU
RV9EUk9QX1ZJRVcgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1SZWFkIHRy
YW5zYWN0aW9ucyBzdWNjZWVkZWQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
dGVzdC1hdXRob3JpemVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXpl
ci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YmFmMTBhYTQ3NTAwYTRmM2Nm
MzEyNGM3NjcxNzMxNzllODk0MzRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InRl
c3QtYXV0aG9yaXplci5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVw
QW5kUnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3QgdGVzdHMgdGhlIGRhdGFiYXNlIGF1dGhvcml6ZXIu
PGJyPgotPHByZSBpZD0iY29uc29sZSI+Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3By
ZT4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdGVz
dC1hdXRob3JpemVyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXIuanMK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRhMDhjODlkZjU0YTNiNmM0YTg2M2MwMWRm
ODlmNDc1MWNjYzkxODkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXIuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwxNTMgKzAsMCBAQAotZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCi17Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBsb2dBbmRUZXJtaW5hdGVUZXN0KG1lc3Nh
Z2UsIGVycm9yKQotewotICAgIGxvZyhtZXNzYWdlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOwot
ICAgIHRlcm1pbmF0ZVRlc3QoKTsKLX0KLQotZnVuY3Rpb24gY2xlYW51cChkYikKLXsKLSAgICBk
Yi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
RFJPUCBUQUJMRSBJRiBFWElTVFMgVGVzdDsiKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IkRST1AgSU5ERVggSUYgRVhJU1RTIFRlc3RJbmRleDsiKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIkRST1AgVklFVyBJRiBFWElTVFMgVGVzdFZpZXc7Iik7Ci0gICAgICAgICAgICB0eC5l
eGVjdXRlU3FsKCJEUk9QIFRSSUdHRVIgSUYgRVhJU1RTIFRlc3RUcmlnZ2VyOyIpOwotICAgICAg
ICB9LCBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJDbGVhbnVwIGZhaWxl
ZCIsIGVycm9yKTsgfSk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhz
dGF0ZW1lbnRUeXBlKQotewotICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkLiIpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKHN0YXRlbWVu
dFR5cGUsIGVycm9yKQotewotICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFp
bGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1mdW5jdGlv
biBleGVjdXRlU3RhdGVtZW50KHR4LCBzdGF0ZW1lbnQsIG9wZXJhdGlvbikKLXsKLSAgICB0eC5l
eGVjdXRlU3FsKHN0YXRlbWVudCwgW10sCi0gICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1
bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKG9wZXJhdGlvbik7IH0sCi0gICAgICAgICAg
ICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHN0YXRlbWVudEVycm9yQ2FsbGJh
Y2sob3BlcmF0aW9uLCBlcnJvcik7IH0pOwotfQotCi1mdW5jdGlvbiBjcmVhdGVUYWJsZUNhbGxi
YWNrKHR4KQotewotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEFCTEUgVGVzdCAo
Rm9vIGludCk7IiwgIlNRTElURV9DUkVBVEVfVEFCTEUiKTsKLX0KLQotZnVuY3Rpb24gY3JlYXRl
U3RhdGVtZW50c0NhbGxiYWNrKHR4KQotewotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVB
VEUgSU5ERVggVGVzdEluZGV4IE9OIFRlc3QgKEZvbyk7IiwgIlNRTElURV9DUkVBVEVfSU5ERVgi
KTsKLQotICAgIC8vIEV2ZW4gdGhvdWdoIHRoZSBmb2xsb3dpbmcgcXVlcnkgc2hvdWxkIHRyaWdn
ZXIgYSBTUUxJVEVfQ1JFQVRFX1RFTVBfSU5ERVggb3BlcmF0aW9uCi0gICAgLy8gKGFjY29yZGlu
ZyB0byBodHRwOi8vd3d3LnNxbGl0ZS5vcmcvdGVtcGZpbGVzLmh0bWwpLCBpdCBkb2Vzbid0LCBh
bmQgSSdtIG5vdCBhd2FyZQotICAgIC8vIG9mIGFueSBvdGhlciB3YXkgdG8gdHJpZ2dlciB0aGlz
IG9wZXJhdGlvbi4gU28gd2UnbGwgc2tpcCBpdCBmb3Igbm93LgotICAgIC8vZXhlY3V0ZVN0YXRl
bWVudCh0eCwgIlNFTEVDVCAqIEZST00gVGVzdCBXSEVSRSBGb28gSU4gKDEsIDIsIDMpOyIsICJT
UUxJVEVfQ1JFQVRFX1RFTVBfSU5ERVgiKTsKLQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJD
UkVBVEUgVEVNUCBUQUJMRSBUZXN0VGVtcFRhYmxlIChGb28gaW50KTsiLCAiU1FMSVRFX0NSRUFU
RV9URU1QX1RBQkxFIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFRS
SUdHRVIgVGVzdFRlbXBUcmlnZ2VyIElOU0VSVCBPTiBUZXN0IEJFR0lOIFNFTEVDVCBDT1VOVCgq
KSBGUk9NIFRlc3Q7IEVORDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIiKTsKLSAgICBl
eGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRFTVAgVklFVyBUZXN0VGVtcFZpZXcgQVMgU0VM
RUNUIENPVU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1ZJRVciKTsKLSAg
ICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRSSUdHRVIgVGVzdFRyaWdnZXIgSU5TRVJU
IE9OIFRlc3QgQkVHSU4gU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsgRU5EOyIsICJTUUxJVEVf
Q1JFQVRFX1RSSUdHRVIiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFZJRVcg
VGVzdFZpZXcgQVMgU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9W
SUVXIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSVJUVUFMIFRBQkxFIFRl
c3RWaXJ0dWFsVGFibGUgVVNJTkcgTWlzc2luZ01vZHVsZTsiLCAiU1FMSVRFX0NSRUFURV9WVEFC
TEUiKTsKLX0KLQotZnVuY3Rpb24gb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpCi17Ci0gICAg
ZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElU
RV9SRUFEIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9N
IFRlc3Q7IiwgIlNRTElURV9TRUxFQ1QiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVM
RVRFIEZST00gVGVzdDsiLCAiU1FMSVRFX0RFTEVURSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQo
dHgsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMSk7IiwgIlNRTElURV9JTlNFUlQiKTsKLSAg
ICBleGVjdXRlU3RhdGVtZW50KHR4LCAiVVBEQVRFIFRlc3QgU0VUIEZvbyA9IDIgV0hFUkUgRm9v
ID0gMTsiLCAiU1FMSVRFX1VQREFURSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJQUkFH
TUEgY2FjaGVfc2l6ZTsiLCAiU1FMSVRFX1BSQUdNQSIpOwotCi0gICAgZXhlY3V0ZVN0YXRlbWVu
dCh0eCwgIkFMVEVSIFRBQkxFIFRlc3QgUkVOQU1FIFRPIFRlc3RUYWJsZTsiLCAiU1FMSVRFX0FM
VEVSX1RBQkxFIik7Ci0gICAgLy8gUmVuYW1lIHRoZSB0YWJsZSBiYWNrIHRvIGl0cyBvcmlnaW5h
bCBuYW1lCi0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFMVEVSIFRBQkxFIFRlc3RUYWJsZSBS
RU5BTUUgVG8gVGVzdDsiLCAiU1FMSVRFX0FMVEVSX1RBQkxFIik7Ci0KLSAgICBleGVjdXRlU3Rh
dGVtZW50KHR4LCAiQkVHSU4gVFJBTlNBQ1RJT047IiwgIlNRTElURV9UUkFOU0FDVElPTiIpOwot
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJBVFRBQ0ggbWFpbiBBUyBUZXN0TWFpbjsiLCAiU1FM
SVRFX0FUVEFDSCIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJERVRBQ0ggVGVzdE1haW47
IiwgIlNRTElURV9ERVRBQ0giKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUkVJTkRFWDsi
LCAiU1FMSVRFX1JFSU5ERVgiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQU5BTFlaRTsi
LCAiU1FMSVRFX0FOQUxZWkUiKTsKLQotICAgIC8vIFNRTElURV9GVU5DVElPTjogYWxsb3dlZCB3
cml0ZSBtb2RlCi0gICAgLy8gVGhlcmUgaXMgbm8gU1FML0phdmFzY3JpcHQgQVBJIHRvIGFkZCB1
c2VyLWRlZmluZWQgZnVuY3Rpb25zIHRvIFNRTGl0ZSwKLSAgICAvLyBzbyB3ZSBjYW5ub3QgdGVz
dCB0aGlzIG9wZXJhdGlvbgotfQotCi1mdW5jdGlvbiBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4
KQotewotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIElOREVYIFRlc3RJbmRleDsiLCAi
U1FMSVRFX0RST1BfSU5ERVgiKTsKLQotICAgIC8vIFNRTElURV9EUk9QX1RFTVBfSU5ERVg6IGFs
bG93ZWQgaW4gd3JpdGUgbW9kZQotICAgIC8vIE5vdCBzdXJlIGhvdyB0byB0ZXN0IHRoaXM6IHRl
bXAgaW5kZXhlcyBhcmUgYXV0b21hdGljYWxseSBkcm9wcGVkIHdoZW4KLSAgICAvLyB0aGUgZGF0
YWJhc2UgaXMgY2xvc2VkLCBidXQgSFRNTDUgZG9lc24ndCBzcGVjaWZ5IGEgY2xvc2VEYXRhYmFz
ZSgpIGNhbGwuCi0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBUZXN0VGVt
cFRhYmxlOyIsICJTUUxJVEVfRFJPUF9URU1QX1RBQkxFIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVu
dCh0eCwgIkRST1AgVFJJR0dFUiBUZXN0VGVtcFRyaWdnZXI7IiwgIlNRTElURV9EUk9QX1RFTVBf
VFJJR0dFUiIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFRlbXBW
aWV3OyIsICJTUUxJVEVfRFJPUF9URU1QX1ZJRVciKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4
LCAiRFJPUCBUUklHR0VSIFRlc3RUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9UUklHR0VSIik7Ci0g
ICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVklFVyBUZXN0VmlldzsiLCAiU1FMSVRFX0RS
T1BfVklFVyIpOwotCi0gICAgLy8gU1FMSVRFX0RST1BfVlRBQkxFOiBhbGxvd2VkIGluIHdyaXRl
IG1vZGUKLSAgICAvLyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB3ZSBjYW5ub3QgY3JlYXRl
IGEgdmlydHVhbCB0YWJsZSBiZWNhdXNlIHdlIGRvIG5vdAotICAgIC8vIGhhdmUgU1FML0phdmFz
Y3JpcHQgQVBJcyB0byByZWdpc3RlciBhIG1vZHVsZSB0aGF0IGltcGxlbWVudHMgYSB2aXJ0dWFs
IHRhYmxlLgotICAgIC8vIFRoZXJlZm9yZSwgdHJ5aW5nIHRvIGRyb3AgYSB2aXJ0dWFsIHRhYmxl
IHdpbGwgYWx3YXlzIGZhaWwgKG5vIHN1Y2ggdGFibGUpCi0gICAgLy8gYmVmb3JlIGV2ZW4gZ2V0
dGluZyB0byB0aGUgYXV0aG9yaXplci4KLQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9Q
IFRBQkxFIFRlc3Q7IiwgIlNRTElURV9EUk9QX1RBQkxFIik7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RS
ZWFkV3JpdGVNb2RlKGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0g
ICAgICAgICAgICBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KTsKLSAgICAgICAgICAgIGNyZWF0ZVN0
YXRlbWVudHNDYWxsYmFjayh0eCk7Ci0gICAgICAgICAgICBvdGhlclN0YXRlbWVudHNDYWxsYmFj
ayh0eCk7Ci0gICAgICAgICAgICBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KTsKLSAgICAgICAg
fSwKLSAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUg
dHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9LAotICAgICAgICBmdW5jdGlvbigpIHsgbG9n
KCJXcml0ZSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQuIik7IH0pOwotfQotCi1mdW5jdGlvbiB0ZXN0
UmVhZE9ubHlNb2RlKGRiKQotewotICAgIC8vIFRlc3QgdGhlICdDUkVBVEUgVEFCTEUnIG9wZXJh
dGlvbjsgaXQgc2hvdWxkIGJlIGRpc2FsbG93ZWQKLSAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3Jl
YXRlVGFibGVDYWxsYmFjaywKLSAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWlu
YXRlVGVzdCgiUmVhZCAnQ1JFQVRFIFRBQkxFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7
IH0pOwotCi0gICAgLy8gSW4gb3JkZXIgdG8gdGVzdCBhbGwgb3RoZXIgJ0NSRUFURScgb3BlcmF0
aW9ucywgd2UgbXVzdCBjcmVhdGUgdGhlIHRhYmxlIGZpcnN0Ci0gICAgZGIudHJhbnNhY3Rpb24o
Y3JlYXRlVGFibGVDYWxsYmFjaywKLSAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVy
bWluYXRlVGVzdCgiV3JpdGUgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJy
b3IpOyB9KTsKLSAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNr
LAotICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdD
UkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Ci0KLSAgICAvLyBJbiBvcmRl
ciB0byB0ZXN0IHRoZSAnRFJPUCcgYW5kICdvdGhlcicgb3BlcmF0aW9ucywgd2UgbmVlZCB0byBm
aXJzdCBjcmVhdGUgdGhlIHJlc3BlY3RpdmUgZW50aXRpZXMKLSAgICBkYi50cmFuc2FjdGlvbihj
cmVhdGVTdGF0ZW1lbnRzQ2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0Fu
ZFRlcm1pbmF0ZVRlc3QoIldyaXRlICdDUkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9y
KTsgfSk7Ci0gICAgZGIucmVhZFRyYW5zYWN0aW9uKG90aGVyU3RhdGVtZW50c0NhbGxiYWNrLAot
ICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdvdGhl
cicgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKLQotICAgIC8vIEhhY2s6IGluc2Vy
dCBhbiBlbXB0eSB3cml0ZSB0cmFuc2FjdGlvbiB0byBndWFyYXRlZSB0aGF0IHRoZXNlIHRyYW5z
YWN0aW9ucyBhcmUgZXhlY3V0ZWQgc2VxdWVudGlhbGx5Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpIHsgfSk7Ci0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGRyb3BTdGF0ZW1lbnRzQ2Fs
bGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJl
YWQgJ0RST1AnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSwKLSAgICAgICAgZnVuY3Rp
b24oKSB7IGxvZygiUmVhZCB0cmFuc2FjdGlvbnMgc3VjY2VlZGVkLiIpOyB0ZXJtaW5hdGVUZXN0
KCk7IH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICB2YXIgZGIgPSBvcGVuRGF0
YWJhc2VXaXRoU3VmZml4KCJBdXRob3JpemVyVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGRhdGFi
YXNlIGF1dGhvcml6ZXIuIiwgMzI3NjgpOwotICAgIGNsZWFudXAoZGIpOwotICAgIHRlc3RSZWFk
V3JpdGVNb2RlKGRiKTsKLSAgICB0ZXN0UmVhZE9ubHlNb2RlKGRiKTsKLX0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2st
ZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjg4Yzc0MjYwNWUzNGRkYjk4OGU4OTMzYzM0ZTA0M2EzM2FjMjRlZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Ry
YW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogVHJhbnNhY3Rpb25DYWxsYmFj
a0Vycm9yCi1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNzZWQKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0
aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNr
LWV4Y2VwdGlvbi1jcmFzaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmNj
NzMyYmI4ZjJiNTNlY2I0NDgxYTc5OTc1ZTJjY2Y3MWNjZGMzLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rp
b24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMCAr
MCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi12YXIgZGIgPSBvcGVu
RGF0YWJhc2UoIjE1OTc2VGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5NzYiLCAxKTsKLWRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7Ci0gICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgIHdpbmRv
dy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCkgfSwgMCk7Ci0gICB0aHJvdyAiVHJhbnNhY3Rpb25DYWxsYmFja0Vycm9yIjsKLX0pOwotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLUlmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRl
c3QgaGFzIHBhc3NlZAotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdmNDc0ZjdiYzZl
YTc4YTkyMTdiOThkMDhiOWIyNWE3MTJlZmU0ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotQUxFUlQ6IHVuZGVmaW5lZAotQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZp
c2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCi1UaGlzIHRlc3QgdGVz
dHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3
b3JsZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlv
bi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2ODI1ZDcwMDM0MDQyODQ2ZWZkNGQxZDk1ODNiNzJlMmU1OTUyYmJhLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
dHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMgdGVz
dCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJp
Z2h0IHdvcmxkLgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5z
YWN0aW9uQ2FsbGJhY2tzSW52b2tlZCA9IDA7Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAo
KCsrdHJhbnNhY3Rpb25DYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
Ci19Ci0KLWZ1bmN0aW9uIHRyYW5zYWN0aW9uQ2FsbGJhY2sxKHR4KQotewotICAgIGFsZXJ0KCJG
QUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjazIodHgpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9k
eS5iYXIpOwotICAgIGRvbmUoKTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9j
dW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9k
eS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNy
ZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2Ny
aXB0SW5Jc29sYXRlZFdvcmxkKAotICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gdHJhbnNh
Y3Rpb25DYWxsYmFjazEodHgpXG4iICsKLSAgICAgICAgIntcbiIgKwotICAgICAgICAiICAgIGFs
ZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKwotICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlv
bj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCi0gICAgICAgICJ9XG4iICsKLSAgICAgICAgInZh
ciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScs
ICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAgImRiMS50cmFuc2FjdGlvbih0cmFuc2FjdGlv
bkNhbGxiYWNrMSk7Iik7Ci0KLSAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlv
bkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOwotICAgIGRiMi50cmFuc2Fj
dGlvbih0cmFuc2FjdGlvbkNhbGxiYWNrMik7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2Fs
bGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJv
ci1jYWxsYmFjay1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZm
YjMzYmQ5YWI3ZDA3N2M1ZGQ2M2MwMDc5OGUzZDY3NTAwOWYzMTQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2Fj
dGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICsw
LDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogW29iamVjdCBPYmplY3RdCi1DT05TT0xF
IE1FU1NBR0U6IGxpbmUgNjM6IFtvYmplY3QgT2JqZWN0XQotVGhpcyB0ZXN0IGNvbmZpcm1zIHRo
YXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCBy
ZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVk
IGJhY2sgb24gZmFpbHVyZS4KLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFu
ZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3RpbmcgdHJhbnNh
Y3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBT
VUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5k
IGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUwotVGVzdGluZyBzdGF0ZW1l
bnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5p
bmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBkYTE1Mzk2Njc4ZDllYmYzMTUyZDhlOWM4NGQzYzE0Y2I0ZTlmMjc1Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0
ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1BTEVSVDogdW5kZWZpbmVkCi1B
TEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0
ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBl
cnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUy
MTg5NGQyZWEyNzU4YWU5MWY5NzM5YTdiNTU1ZDVjNmUzMmRjYjEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2Fj
dGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsNTIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0
IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0
aGUgcmlnaHQgd29ybGQuCi08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIg
dHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17
Ci0gICAgaWYgKCgrK3RyYW5zYWN0aW9uRXJyb3JDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazEo
dHgpCi17Ci0gICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7Ci0g
ICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2syKHR4KQot
ewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKLSAgICBkb25lKCk7Ci19Ci0KLWRvY3Vt
ZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0
ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFy
IHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKLQotaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNs
ZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKLSAgICAgICAgMCwK
LSAgICAgICAgImZ1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazEodHgpXG4iICsKLSAg
ICAgICAgIntcbiIgKwotICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIg
KwotICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiAr
Ci0gICAgICAgICJ9XG4iICsKLSAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1RyYW5z
YWN0aW9uRXJyb3JDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKwot
ICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKLSAgICAgICAgIiAg
ICB0eC5leGVjdXRlU3FsKCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7
fSwgZnVuY3Rpb24odHgsIGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTtcbiIgKwotICAgICAgICAi
fSwgdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSk7Iik7Ci0KLSAgICB2YXIgZGIyID0gb3BlbkRh
dGFiYXNlKCdUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAn
JywgMSk7Ci0gICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4
ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9LCBmdW5j
dGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pOwotICAgIH0sIHRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjazIpOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwYjJlZDAzNGZkOTVhN2JhZTUyYTA4NmU5YTJlZTVl
YmNkZWY3NzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTA1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1m
dW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
c29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOwotfQotCi0vLyBzaWduYWwgdG8g
bGF5b3V0VGVzdENvbnRyb2xsZXIgd2hlbiB0aGlzIHJlYWNoZXMgemVyby4KLXZhciB0ZXN0Q291
bnQgPSA0OwotLy8gd2UgZmlyc3QgcmV0cmlldmUgYW5kIHN0b3JlIHRoZSBudW1iZXIgb2Ygcm93
cyBhbHJlYWR5IGluIG91ciB0ZXN0IGRhdGFiYXNlLgotLy8gb3VyIGdvYWwgaXMgdG8ga2VlcCB0
aGUgbnVtYmVyIHVuY2hhbmdlZCB0aHJvdWdoIHRoZSB0ZXN0cy4KLXZhciBpbml0aWFsUm93Q291
bnQgPSAwOwotdmFyIGRhdGFiYXNlOwotdmFyIHN1Y2Nlc3NDYWxsYmFja0NhbGxlZDsKLQotZnVu
Y3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgaWYgKC0tdGVzdENvdW50KQotICAgICAgICByZXR1
cm47Ci0KLSAgICBsb2coIkFsbCBUZXN0cyBhcmUgY29tcGxldGUuIik7Ci0KLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjaygpCi17Ci0gICAgc3Vj
Y2Vzc0NhbGxiYWNrQ2FsbGVkID0gdHJ1ZTsKLX0KLQotZnVuY3Rpb24gdmVyaWZ5U3VjY2Vzcyht
c2cpCi17Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpCi0gICAgewotICAg
ICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgY291bnQoKikgQVMgY291bnQgRlJPTSBFcnJvckNh
bGxiYWNrVGVzdCIsIFtdLCBmdW5jdGlvbih0eCwgcnMpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGxvZyhtc2cgKyAiIDogIiArIChycy5yb3dzLml0ZW0oMCkuY291bnQgPT0gaW5pdGlhbFJvd0Nv
dW50ICYmICFzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPyAiU1VDQ0VTUyIgOiAiRkFJTFVSRSIpKTsK
LSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWZ1
bmN0aW9uIGZhaWxNaWRXYXkoZXJyb3JDYWxsYmFjaykKLXsKLSAgICBzdWNjZXNzQ2FsbGJhY2tD
YWxsZWQgPSBmYWxzZTsKLSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKLSAg
ICB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0
KHNvbWVWYWx1ZSkgVkFMVUVTKD8pOyIsIFsgMSBdKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgi
TVVUVEVSIFNPTUVUSElORyBJTExFR0lCTEUiKTsKLSAgICB9LCBlcnJvckNhbGxiYWNrLCBzdWNj
ZXNzQ2FsbGJhY2spOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2Vw
dGlvbihlcnJvckNhbGxiYWNrKQotewotICAgIHN1Y2Nlc3NDYWxsYmFja0NhbGxlZCA9IGZhbHNl
OwotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAg
dHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRXJyb3JDYWxsYmFja1Rlc3Qoc29tZVZhbHVlKSBW
QUxVRVMoPyk7IiwgWyAxIF0sIGZ1bmN0aW9uKCkKLSAgICAgICAgewotICAgICAgICAgICAgdGhy
b3cge307Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsK
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJFcnJvckNh
bGxiYWNrRGF0YWJhc2UiLCAiMS4wIiwgIlRlc3QgZm9yIGVycm9yIGNhbGxiYWNrIiwgMSk7Ci0g
ICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpCi0gICAgewotICAgICAgICB0eC5l
eGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBFcnJvckNhbGxiYWNrVGVzdCAo
c29tZVZhbHVlKSIsIFtdKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCop
IEFTIGNvdW50IEZST00gRXJyb3JDYWxsYmFja1Rlc3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQot
ICAgICAgICB7Ci0gICAgICAgICAgICBpbml0aWFsUm93Q291bnQgPSBycy5yb3dzLml0ZW0oMCku
Y291bnQ7Ci0gICAgICAgIH0pOwotICAgIH0pOwotCi0gICAgZmFpbE1pZFdheShmdW5jdGlvbigp
IHsgcmV0dXJuIHRydWU7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3RpbmcgdHJhbnNhY3Rp
b24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSIpOwot
ICAgIGZhaWxNaWRXYXkoZnVuY3Rpb24oKSB7IHJldHVybiBmYWxzZTsgfSk7Ci0gICAgdmVyaWZ5
U3VjY2VzcygiVGVzdGluZyB0cmFuc2FjdGlvbiBmYWlsaW5nIG1pZC13YXkgYW5kIGVycm9yIGNh
bGxiYWNrIHJldHVybiBmYWxzZSIpOwotICAgIHN0YXRlbWVudENhbGxiYWNrVGhyb3dzRXhjZXB0
aW9uKGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfSk7Ci0gICAgdmVyaWZ5U3VjY2VzcygiVGVz
dGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxs
YmFjayByZXR1cm5pbmcgdHJ1ZSIpOwotICAgIHN0YXRlbWVudENhbGxiYWNrVGhyb3dzRXhjZXB0
aW9uKGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3MoIlRl
c3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2Fs
bGJhY2sgcmV0dXJuaW5nIGZhbHNlIik7Ci19Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci1UaGlzIHRlc3QgY29uZmlybXMgdGhhdCA8Y29kZT5TUUxU
cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s8L2NvZGU+IGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCBy
ZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVk
IGJhY2sgb24gZmFpbHVyZS4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci0K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3Vj
Y2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDI3ZjRhY2U3MzgzM2I1ZTZl
YzQ2ODZhZmU3MDU5NjQzYmYxZDhjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLUFMRVJUOiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2
aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRl
c3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRo
ZSByaWdodCB3b3JsZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2Fj
dGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2EyZGY5NGIzNGFkNTg2YjQwNzYzNDIwYzBj
NzAzNjkzZDIxNzgyYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLTwhRE9DVFlQ
RSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2Fj
dGlvbiBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi08ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgdHJhbnNhY3Rpb25TdWNjZXNzQ2Fs
bGJhY2tzSW52b2tlZCA9IDA7Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrdHJhbnNh
Y3Rpb25TdWNjZXNzQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwot
fQotCi1mdW5jdGlvbiB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazEodHgpCi17Ci0gICAgYWxl
cnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7Ci0gICAgZG9uZSgpOwotfQot
Ci1mdW5jdGlvbiB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazIodHgpCi17Ci0gICAgYWxlcnQo
ZG9jdW1lbnQuYm9keS5iYXIpOwotICAgIGRvbmUoKTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28g
PSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwot
ZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBh
IGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOwotCi1pZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFz
ZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAotICAgICAgICAwLAotICAgICAgICAiZnVu
Y3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sxKHR4KVxuIiArCi0gICAgICAgICJ7XG4i
ICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAg
IiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAi
fVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvblN1Y2Nl
c3NDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKwotICAgICAgICAi
ZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIG51bGwsIHRyYW5zYWN0aW9uU3VjY2Vz
c0NhbGxiYWNrMSk7Iik7Ci0KLSAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlv
blN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIu
dHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgbnVsbCwgdHJhbnNhY3Rpb25TdWNjZXNzQ2Fs
bGJhY2syKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM5MzllMzY1MGM1NTczZmI5ZjhkZDA3NmVkYzIxOTJmOTg3ZjcxZWUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMg
ZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgorRmlu
aXNoZWQgdGVzdHMgd2l0aCB2ZXJzaW9uIDM7IGV4cGVjdGVkIHZlcnNpb246IDMKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZl
cnNpb24taGFuZGxlLXJldXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2Y3NjQ4MWIzNGVjMjg1NjFkZTAyNzIzNGM1OTdmOWU0Zjg5YTE1MgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVz
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitUaGlzIHRlc3RzIHRoYXQgYSBkYXRhYmFz
ZSBjYW4gYmUgYWNjZXNzZWQgYWZ0ZXIgY2hhbmdpbmcgaXRzIHZlcnNpb24uIFlvdSBzaG91bGQg
c2VlIGFuIGVycm9yIGFib3V0IEZvb0JhciB0YWJsZSBiZWxvdywgbm90IGFib3V0IG1pc21hdGNo
aW5nIHZlcnNpb25zLgorY2hhbmdlVmVyc2lvbjogdHJhbnNhY3Rpb24gY2FsbGJhY2sKK2NoYW5n
ZVZlcnNpb246IHN1Y2Nlc3MgY2FsbGJhY2sKK3RyYW5zYWN0aW9uOiBzdGF0ZW1lbnQgZXJyb3Ig
Y2FsbGJhY2s6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBubyBzdWNoIHRhYmxlOiBG
b29CYXIpCitURVNUIENPTVBMRVRFLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmM2ZiZjQ4NGQ3YTg1YTM0OTBiNTE1YjcwODk1NDRhZWUwODZmYTEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1
c2UuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4gCis8aGVhZD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJjaGFu
Z2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMiPjwvc2NyaXB0PgorPC9oZWFkPiAKKzxib2R5IG9u
bG9hZD0ic2V0dXBBbmRSdW5UZXN0KCkiPiAKKzxkaXY+VGhpcyB0ZXN0cyB0aGF0IGEgZGF0YWJh
c2UgY2FuIGJlIGFjY2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hvdWxk
IHNlZSBhbiBlcnJvciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNtYXRj
aGluZyB2ZXJzaW9ucy4KKzxwcmUgaWQ9ImNvbnNvbGUiPiAKK0ZBSUxVUkU6IHRlc3QgZGlkbid0
IHJ1bi4KKzwvcHJlPiAKKzwvYm9keT4gCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODQ3YTU4YzNiOTFmZjJjNTA4MGYyYzkyMGE1ZDQxYWJjYjVjZTJhMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRs
ZS1yZXVzZS5qcwpAQCAtMCwwICsxLDQ2IEBACitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAg
ICBsb2coIlRFU1QgQ09NUExFVEUuIik7CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHRyeSB7CisgICAgICAgIGRiID0gb3BlbkRhdGFi
YXNlV2l0aFN1ZmZpeCgiQ2hhbmdlVmVyc2lvbiIsICIiLCAiVGVzdCB0aGF0IGNoYW5naW5nIGEg
ZGF0YWJhc2UgdmVyc2lvbiBkb2Vzbid0IGtpbGwgb3VyIGhhbmRsZSB0byBpdCIsIDEpOworICAg
ICAgICB2YXIgdmVyc2lvbiA9IGRiLnZlcnNpb247CisgICAgICAgIHZhciBuZXdWZXJzaW9uID0g
dmVyc2lvbiA/IChwYXJzZUludCh2ZXJzaW9uKSArIDEpLnRvU3RyaW5nKCkgOiAiMSI7IAorICAg
ICAgICBkYi5jaGFuZ2VWZXJzaW9uKHZlcnNpb24sIG5ld1ZlcnNpb24sIGZ1bmN0aW9uKHR4KSB7
CisgICAgICAgICAgICBsb2coImNoYW5nZVZlcnNpb246IHRyYW5zYWN0aW9uIGNhbGxiYWNrIik7
CisgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICBsb2coImNoYW5nZVZl
cnNpb246IGVycm9yIGNhbGxiYWNrOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAgIH0sIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBzdWNjZXNzIGNhbGxi
YWNrIik7CisgICAgICAgICAgICBydW5UZXN0MigpOworICAgICAgICB9KTsKKyAgICAgICAgCisg
ICAgfSBjYXRjaCAoZSkgeworICAgICAgICBsb2coImNoYW5nZVZlcnNpb24gZXhjZXB0aW9uOiAi
ICsgZSk7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CisgCitmdW5jdGlvbiBydW5U
ZXN0MigpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAqIGZyb20gRm9vQmFyIiwgW10s
IGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgbG9nKCJ0cmFuc2FjdGlvbjogc3RhdGVt
ZW50IGNhbGxiYWNrIik7CisgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAg
ICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICAgICAgbG9nKCJ0cmFuc2Fj
dGlvbjogc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAg
ICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOwor
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgbG9nKCJ0cmFuc2FjdGlvbiBleGNlcHRpb246ICIg
KyBlKTsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdo
dC1mYWlsdXJlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5n
ZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iYjBkNTQ5Y2IwY2Q0N2RmYTg2NjFlNmU2YzU5ODkwNDNiOTljMzMxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8t
Y3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAor
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgbm8gYXNzZXJ0aW9uIGlzIHRyaWdnZXJlZCB3aGVuIGNo
YW5nZVZlcnNpb24oKSdzIHByZWZsaWdodCBzdGVwIGZhaWxzLgorUEFTUzogZGIuY2hhbmdlVmVy
c2lvbigpIGZhaWxlZCBhcyBleHBlY3RlZCwgYW5kIG5vIGFzc2VydGlvbnMgd2VyZSB0cmlnZ2Vy
ZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJz
aW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJhNTEyZmI5YWM5MWRmYjRkYTJjOGYyZTgzNmRiYzUwODc2NTkxMjAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVy
c2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sCkBAIC0wLDAgKzEsMzYgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsg
IlxuIjsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0K
KworICAgIHZhciBkYiA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoIkNoYW5nZVZlcnNpb25GYWlsdXJl
VGVzdCIsICIxIiwgIlRlc3QgdGhlIHByZWZsaWdodCBzdGVwIiwgMTAyNCk7CisgICAgZGIuY2hh
bmdlVmVyc2lvbigiMiIsICIzIiwgbnVsbCwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgbG9n
KCJQQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBhbmQgbm8gYXNz
ZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4iKTsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0s
IGZ1bmN0aW9uKCkgeworICAgICAgICBsb2coIkZBSUw6IGRiLmNoYW5nZVZlcnNpb24oKSB3YXMg
ZXhwZWN0ZWQgdG8gZmFpbC4iKTsKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0pOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgbm8gYXNzZXJ0aW9uIGlzIHRyaWdnZXJlZCB3aGVuIGNoYW5nZVZlcnNp
b24oKSdzIHByZWZsaWdodCBzdGVwIGZhaWxzLgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9j
aGFuZ2UtdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZl
cnNpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OWJiOWRmNTg4Yjk0Y2RkYzAzYjJmNzlhYzlhYTRmMDY2
NDZiOTVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hh
bmdlLXZlcnNpb24uaHRtbApAQCAtMCwwICsxLDEwNiBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5UZXN0IGRhdGFiYXNlLmNoYW5nZVZlcnNpb248L3RpdGxlPgorPHNjcmlwdD4KK3ZhciBkYjE7
Cit2YXIgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9ISVhJRV9URVNUID0gJzInOwordmFyIEVYUEVD
VEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEID0gJzMnOworCitmdW5jdGlvbiBlbXB0eUZ1bmN0aW9u
KCkgeyB9CisKK2Z1bmN0aW9uIGNoYW5nZVZlcnNpb25DYWxsYmFjayh0eCkKK3sKKyAgICB0eC5l
eGVjdXRlU3FsKCJEUk9QIHRhYmxlIGlmIGV4aXN0cyBpbmZvOyIsIFtdLCBlbXB0eUZ1bmN0aW9u
LCBlbXB0eUZ1bmN0aW9uKTsKKyAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgdGFibGUgaWYgbm90
IGV4aXN0cyBpbmZvICh2ZXJzaW9uIElOVEVHRVIpOyIsIFtdLCBlbXB0eUZ1bmN0aW9uLCBlbXB0
eUZ1bmN0aW9uKTsKKyAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgaW50byBpbmZvIHZhbHVlcyg/
KTsiLCBbRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQURdLCBlbXB0eUZ1bmN0aW9uLCBlbXB0
eUZ1bmN0aW9uKTsKK30KKworZnVuY3Rpb24gY2hhbmdlVmVyc2lvblN1Y2Nlc3MoKQoreworICAg
IGxvZygiU3VjY2Vzc2Z1bGx5IGNoYW5nZWQgdmVyc2lvbiB0byAiICsgZGIxLnZlcnNpb24gKyAi
LiBSZWxvYWRpbmcuIik7CisgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB3aW5kb3cubG9jYXRp
b24gKyAnPzInOworfQorCitmdW5jdGlvbiBjaGFuZ2VWZXJzaW9uRXJyb3IoZXJyb3IpCit7Cisg
ICAgbG9nKCJFcnJvcjogIiArIGVycm9yLm1lc3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30K
KworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
IGxvZygiVEVTVCBDT01QTEVURSIpOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdl
ICsgIlxuIjsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sb2Nh
dGlvbi5zZWFyY2ggPT0gIj8yIikgeworICAgICAgICBkYjEgPSB3aW5kb3cub3BlbkRhdGFiYXNl
KCJjaGFuZ2V2ZXJzaW9uLXRlc3QiLCAiIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VW
ZXJzaW9uKCkgZnVuY3Rpb24iLCAxMDI0KTsKKyAgICAgICAgbG9nKCJGaW5pc2hlZCB0ZXN0cyB3
aXRoIHZlcnNpb24gIiArIGRiMS52ZXJzaW9uICsgIjsgZXhwZWN0ZWQgdmVyc2lvbjogIiArIEVY
UEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEKTsKKworICAgICAgICAvLyBSZXNldCB0aGUgREIg
dmVyc2lvbiBvciB0aGUgbmV4dCBydW4gbWlnaHQgZmFpbC4KKyAgICAgICAgZGIxLmNoYW5nZVZl
cnNpb24oZGIxLnZlcnNpb24sICIxIik7CisKKyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0g
ZWxzZQorICAgICAgICB0ZXN0UGFydDEoKTsKK30KKworZnVuY3Rpb24gdGVzdFBhcnQxKCkgewor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgfQorCisgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdl
dmVyc2lvbi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24o
KSBmdW5jdGlvbiIsIDEwMjQpOworICAgIHZhciBkYjIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJj
aGFuZ2V2ZXJzaW9uLXRlc3QiLCAiMSIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVy
c2lvbigpIGZ1bmN0aW9uIiwgMTAyNCk7CisKKyAgICAvLyBGaXJzdCBydW4gSGl4aWUncyB0ZXN0
IHRvIGVuc3VyZSBiYXNpYyBjaGFuZ2VWZXJzaW9uIGZ1bmN0aW9uYWxpdHkgd29ya3MgKHNlZSBi
dWcgMjg0MTgpLgorICAgIGRiMS5jaGFuZ2VWZXJzaW9uKCIxIiwgRVhQRUNURURfVkVSU0lPTl9B
RlRFUl9ISVhJRV9URVNULCBudWxsLCBmdW5jdGlvbiAoZSkgeworICAgICAgICBsb2coIkZBSUwg
aW4gY2hhbmdlVmVyc2lvbjoiICsgZSk7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9LCBm
dW5jdGlvbiAoKSB7CisgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgdmVyc2lvbiBjaGFuZ2UgaGFz
IHByb3BhZ2F0ZWQgdG8gZGIyIHRvby4KKyAgICAgICAgLy8gQWxsIHRyYW5zYWN0aW9ucyBvbiBk
YjIgc2hvdWxkIGZhaWwuCisgICAgICAgIGlmIChkYjIudmVyc2lvbiAhPSBkYjEudmVyc2lvbikg
eworICAgICAgICAgICAgbG9nKCJGQUlMOiBjaGFuZ2luZyBkYjEncyB2ZXJzaW9uICgiICsgZGIx
LnZlcnNpb24gKyAiKSBkaWQgbm90IGNoYW5nZSBkYjIncyB2ZXJzaW9uICgiICsgZGIyLnZlcnNp
b24gKyAiKSBhcyBleHBlY3RlZC4iKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAg
ICAgfQorICAgICAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIp
OworICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeyB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIGxvZygiRkFJTDogVGhlIERCIHZlcnNpb24gY2hhbmdlZCwgYWxsIHRyYW5zYWN0aW9ucyBv
biBkYjIgc2hvdWxkIGZhaWwuIik7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAg
IH0pOworCisgICAgICAgIC8vIE1ha2Ugc3VyZSBhbnkgbmV3IGhhbmRsZSB0byB0aGUgc2FtZSBE
QiBzZWVzIHRoZSBuZXcgdmVyc2lvbgorICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIGRi
MyA9IG9wZW5EYXRhYmFzZSgiY2hhbmdlLXZlcnNpb24tdGVzdCIsIEVYUEVDVEVEX1ZFUlNJT05f
QUZURVJfSElYSUVfVEVTVCwgIiIsIDApOworICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAg
ICAgICBsb2coIkZBSUwgaW4gb3BlbkRhdGFiYXNlOiAiICsgZSk7CisgICAgICAgICAgICBmaW5p
c2hUZXN0KCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRiMS52ZXJzaW9uICE9IGRiMy52ZXJz
aW9uKSB7CisgICAgICAgICAgICBsb2coIkZBSUw6IGRiLnZlcnNpb24oIiArIGRiMS52ZXJzaW9u
ICsgIikgZG9lcyBub3QgbWF0Y2ggZGIzLnZlcnNpb24oIiArIGRiMy52ZXJzaW9uICsiKSIpOwor
ICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICB9CisKKyAgICAgICAgLy8gTm93IHRy
eSBhIHRlc3QgdG8gZW5zdXJlIHRoZSB2ZXJzaW9uIHBlcnNpc3RzIGFmdGVyIHJlbG9hZGluZyAo
c2VlIGJ1ZyAyNzgzNikKKyAgICAgICAgZGIxLmNoYW5nZVZlcnNpb24oRVhQRUNURURfVkVSU0lP
Tl9BRlRFUl9ISVhJRV9URVNULCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX1JFTE9BRCwgY2hhbmdl
VmVyc2lvbkNhbGxiYWNrLCBjaGFuZ2VWZXJzaW9uRXJyb3IsIGNoYW5nZVZlcnNpb25TdWNjZXNz
KTsKKyAgICB9KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0
KCk7Ij4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSBKUyBkYXRhYmFzZS5jaGFuZ2VWZXJz
aW9uKCkgZnVuY3Rpb24gd29ya3MgYXMgZXhwZWN0ZWQuCis8cHJlIGlkPSJjb25zb2xlIj48L3By
ZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJhYWQ5MGMxNjI5ZTUwYjBlNjA1MmNmOGI2ZTQ3ZTEzZTEwMWMwMjIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJpbmctc3RyZXNz
LXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorU2hvdWxkIG5vdCBjcmFzaCBvciBj
YXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKworQSBKYXZhU2NyaXB0IGZhaWx1cmUgb24gdGhl
IGNvbnNvbGUgaXMgZXhwZWN0ZWQsIGhvd2V2ZXIsIGFzIHRoZSBnbG9iYWwgb2JqZWN0IGlzIGNs
ZWFyZWQgd2hlbiBjbG9zaW5nIGEgZnJhbWUuIEl0IGFjdHVhbGx5IGhlbHBzIHRvIGNhdXNlIGRh
dGFiYXNlIGFjdGl2aXR5IGJ5IHRocm93aW5nIGFuIGV4Y2VwdGlvbiBmcm9tIGEgY2FsbGJhY2su
CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5n
LXN0cmVzcy10ZXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jbG9zZS1kdXJp
bmctc3RyZXNzLXRlc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Y2M1MmZkOTU1MGQ5OWU0NGFiODYzMGZj
NjcwMmVkOTQyODg1N2UyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0Lmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPGJv
ZHk+Cis8cD5TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLjwv
cD4KKzxwPkEgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25zb2xlIGlzIGV4cGVjdGVkLCBo
b3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVkIHdoZW4gY2xvc2luZyBhIGZy
YW1lLgorSXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJhc2UgYWN0aXZpdHkgYnkgdGhy
b3dpbmcgYW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay48L3A+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cit9
CisKK2Z1bmN0aW9uIHN0YXJ0VGVzdCgpCit7CisgICAgc2V0VGltZW91dCgiZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdLnNyYyA9ICdhYm91dDpibGFuayciLCAxMDAp
OworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHNldFRpbWVv
dXQoImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIsIDUwMCk7Cit9Cis8L3Njcmlw
dD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwiIG9ubG9hZD0ic3Rh
cnRUZXN0KCkiPjwvaWZyYW1lPgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI3Mjk1NjNhYjgwOGNiM2RiZWQ3NzI1MmU3ZTQwMjEyYjUwY2Qz
MjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9kYXRhYmFz
ZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitJbnNlcnRp
bmcgc29tZSBkYXRhCitUZXN0IHBhcnQgMiBDb21wbGV0ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41YjU5ODlmNzgwMjU3Y2ZkM2JhNDk5OTU4NWU0ZTU3NjUyMTJiMTUwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1h
ZnRlci1yZWxvYWQuaHRtbApAQCAtMCwwICsxLDY3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9u
IGZpbmlzaFRlc3QoKQoreworICAgIGxvZygiVGVzdCBwYXJ0IDEgQ29tcGxldGUiKTsKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGVycm9yRnVuY3Rpb24oZXJyb3IpCit7
CisgICAgbG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hU
ZXN0KCk7Cit9CisKK2Z1bmN0aW9uIGFkZERhdGEoZGIpCit7CisgICAgZGIudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHsKKyAgICAgICAgbG9nKCJJbnNlcnRpbmcgc29tZSBkYXRhIik7CisgICAg
ICAgIC8vIExvYWQgYSBuZXcgcGFnZSB3aGlsZSB0aGUgdHJhbnNhY3Rpb24gaXMgc3RpbGwgaW4g
cHJvZ3Jlc3MsIGludGVycnVwdGluZyB0aGUgdHJhbnNhY3Rpb24uCisgICAgICAgIC8vIFRoaXMg
c2hvdWxkIG5vdCBsZWF2ZSB0aGUgZGF0YWJhc2UgbG9ja2VkIGFuZCBvbiB0aGUgbmV4dCBwYWdl
IHdlIHNob3VsZCBiZSBhYmxlIHRvIGluc2VydAorICAgICAgICAvLyBzb21lIG1vcmUgZGF0YS4K
KyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHRlc3REYXRhKSBW
QUxVRVMgKFpFUk9CTE9CKDUyNDIwMCkpIiwgW10sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwg
cmVzdWx0KSB7IGxvY2F0aW9uLmhyZWYgPSAiLi9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRl
ci1yZWxvYWQtMi5odG1sIjsgfSwKKyAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBl
cnJvckZ1bmN0aW9uKGVycm9yKTsgfSk7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJ
TlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTIChaRVJPQkxPQig1MjQyMDApKSIpOworICAg
IH0sIGVycm9yRnVuY3Rpb24sIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOworfQorCitm
dW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHZhciBkYXRhYmFz
ZTsKKyAgICB0cnkgeworICAgICAgICBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRGF0YWJhc2VM
b2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9ja2luZyIsIDUyNDI4ODApOwor
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgbG9nKCJFcnJvciAtIGNvdWxkIG5vdCBvcGVuIGRh
dGFiYXNlIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9CisKKyAgICBkYXRhYmFzZS50
cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICBsb2coIkFkZGluZyBhIHRhYmxlIik7
CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBEYXRhVGVzdCAodGVzdERhdGEp
IiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgfSwKKyAgICAgICAgICAgIGZ1bmN0aW9uKHR4
LCBlcnJvcikgeyBlcnJvckZ1bmN0aW9uKGVycm9yKTsgfSk7CisgICAgfSwgZXJyb3JGdW5jdGlv
biwgZnVuY3Rpb24oKSB7IGFkZERhdGEoZGF0YWJhc2UpOyB9KTsKK30KKworPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNvbGUiPgor
PC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL2VtcHR5LXN0YXRlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4ZDlk
Y2E0ZTI3MzUzNGRiM2Q4MzNiNjk5OTUwZGNiMTUxODRhYmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMiBAQAorRXhlY3V0ZWQgYW4gZW1wdHkgc3RhdGVtZW50LiBJZiB5b3UgZGlkbid0
IHNlZSBhIGNyYXNoIG9yIGFzc2VydGlvbiwgdGhlIHRlc3QgcGFzc2VkLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2VtcHR5LXN0YXRlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
ZWM1YjhjYWM1ZTRhNTgyNjA4NzZiYjUzOWZiOGJhYjYwNGNmNDkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbApAQCAtMCww
ICsxLDM2IEBACis8aHRtbD4KKworPGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB3cml0ZU1l
c3NhZ2VUb0xvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25z
b2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2UgKyAiXG4iOworfQorCitmdW5jdGlvbiBleGVjdXRl
RW1wdHlTdGF0ZW1lbnQodHJhbnNhY3Rpb24pCit7CisgICAgdHJhbnNhY3Rpb24uZXhlY3V0ZVNx
bCgiIik7CisgICAgd3JpdGVNZXNzYWdlVG9Mb2coIkV4ZWN1dGVkIGFuIGVtcHR5IHN0YXRlbWVu
dC4gSWYgeW91IGRpZG4ndCBzZWUgYSBjcmFzaCBvciBhc3NlcnRpb24sIHRoZSB0ZXN0IHBhc3Nl
ZC4iKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQor
eworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRW1w
dHlTdGF0ZW1lbnRUZXN0IiwgIjEuMCIsICJEYXRhYmFzZSBmb3IgYW4gZW1wdHkgc3RhdGVtZW50
IHRlc3QiLCAxKTsKKyAgICBkYi50cmFuc2FjdGlvbihleGVjdXRlRW1wdHlTdGF0ZW1lbnQpOwor
fQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHBy
ZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMGUzMGI0YmRkNmNmZGJmMmQ5MjAzOWQ1NWEyOWU5MzY3YzYyZDFhYQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFy
Z3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1BBU1MuIGV4ZWN1dGVTcWwobnVsbCkg
ZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwodW5kZWZpbmVkKSBk
aWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgwKSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIikgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhj
ZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCB1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4g
ZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBbXSkgZGlkIG5vdCB0aHJvdyBhbiBleGNl
cHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIFsgImFyZzAiIF0pIGRpZCBub3QgdGhyb3cgYW4g
ZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhj
ZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCB7IGxlbmd0aDogMCB9KSBkaWQgbm90IHRocm93
IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyBsZW5ndGg6IDEsIDA6ICJhcmcw
IiB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVs
bCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIs
IG51bGwsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1
dGVTcWwoIiIsIG51bGwsIHsgfSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4
ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsIG51bGwpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
CitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCB1bmRlZmluZWQpIGRpZCBub3QgdGhy
b3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCB7IH0pIGRp
ZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCkgdGhyZXcgYW4gZXhj
ZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCh0aHJvd09uVG9TdHJpbmdPYmpl
Y3QpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwoIiIs
IHRocm93T25HZXRMZW5ndGhPYmplY3QpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4K
K1BBU1MuIGV4ZWN1dGVTcWwoIiIsIHRocm93T25HZXRaZXJvT2JqZWN0KSB0aHJldyBhbiBleGNl
cHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCBbIHRocm93T25Ub1N0cmlu
Z09iamVjdCBdKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRl
U3FsKCIiLCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRl
U3FsKCIiLCAiIikgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0
ZVNxbCgiIiwgbnVsbCwgMCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4g
ZXhlY3V0ZVNxbCgiIiwgbnVsbCwgIiIpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4K
K1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsIDApIHRocmV3IGFuIGV4Y2VwdGlvbiBh
cyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsICIiKSB0aHJldyBh
biBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOWYyYTQzYWJhYTM2N2NkOTVj
YjAyNjhjOWY3NGM5ODZhOTljNWNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iZXhlY3V0ZS1zcWwtYXJncy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCkiPgorPHByZSBpZD0iY29uc29s
ZSI+IAorRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9ib2R5PgorCis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1h
cmdzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zYjk0MTRkYjNjYTNjODA1MDYxYmRhYzZhYzZjOGZiN2Q3ZmM5MDJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJn
cy5qcwpAQCAtMCwwICsxLDg2IEBACit2YXIgdGhyb3dPblRvU3RyaW5nT2JqZWN0ID0geyB9Owor
dGhyb3dPblRvU3RyaW5nT2JqZWN0LnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgeyB0aHJvdyAiQ2Fu
bm90IGNhbGwgdG9TdHJpbmcgb24gdGhpcyBvYmplY3QuIiB9OworCit2YXIgdGhyb3dPbkdldExl
bmd0aE9iamVjdCA9IHsgfTsKK3Rocm93T25HZXRMZW5ndGhPYmplY3QuX19kZWZpbmVHZXR0ZXJf
XygibGVuZ3RoIiwgZnVuY3Rpb24gKCkgeyB0aHJvdyAiQ2Fubm90IGdldCBsZW5ndGggb2YgdGhp
cyBvYmplY3QuIjsgfSk7CisKK3ZhciB0aHJvd09uR2V0WmVyb09iamVjdCA9IHsgbGVuZ3RoOiAx
IH07Cit0aHJvd09uR2V0WmVyb09iamVjdC5fX2RlZmluZUdldHRlcl9fKCIwIiwgZnVuY3Rpb24g
KCkgeyB0aHJvdyAiQ2Fubm90IGdldCAwIHByb3BlcnR5IG9mIHRoaXMgb2JqZWN0LiI7IH0pOwor
Cit2YXIgZXhwZWN0Tm9FeGNlcHRpb24gPSBbCisgICAgJ251bGwnLAorICAgICd1bmRlZmluZWQn
LAorICAgICcwJywKKyAgICAnIiInLAorICAgICciIiwgbnVsbCcsCisgICAgJyIiLCB1bmRlZmlu
ZWQnLAorICAgICciIiwgW10nLAorICAgICciIiwgWyAiYXJnMCIgXScsCisgICAgJyIiLCB7IH0n
LAorICAgICciIiwgeyBsZW5ndGg6IDAgfScsCisgICAgJyIiLCB7IGxlbmd0aDogMSwgMDogImFy
ZzAiIH0nLAorICAgICciIiwgbnVsbCwgbnVsbCcsCisgICAgJyIiLCBudWxsLCB1bmRlZmluZWQn
LAorICAgICciIiwgbnVsbCwgeyB9JywKKyAgICAnIiIsIG51bGwsIG51bGwsIG51bGwnLAorICAg
ICciIiwgbnVsbCwgbnVsbCwgdW5kZWZpbmVkJywKKyAgICAnIiIsIG51bGwsIG51bGwsIHsgfScs
CitdOworCit2YXIgZXhwZWN0RXhjZXB0aW9uID0gWworICAgICcnLAorICAgICd0aHJvd09uVG9T
dHJpbmdPYmplY3QnLAorICAgICciIiwgdGhyb3dPbkdldExlbmd0aE9iamVjdCcsCisgICAgJyIi
LCB0aHJvd09uR2V0WmVyb09iamVjdCcsCisgICAgJyIiLCBbIHRocm93T25Ub1N0cmluZ09iamVj
dCBdJywKKyAgICAnIiIsIDAnLAorICAgICciIiwgIiInLAorICAgICciIiwgbnVsbCwgMCcsCisg
ICAgJyIiLCBudWxsLCAiIicsCisgICAgJyIiLCBudWxsLCBudWxsLCAwJywKKyAgICAnIiIsIG51
bGwsIG51bGwsICIiJywKK107CisKK2Z1bmN0aW9uIHRyeUV4ZWN1dGVTcWwodHJhbnNhY3Rpb24s
IHBhcmFtZXRlckxpc3QpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbCgndHJhbnNhY3Rpb24u
ZXhlY3V0ZVNxbCgnICsgcGFyYW1ldGVyTGlzdCArICcpJyk7CisgICAgICAgIHJldHVybiBudWxs
OworICAgIH0gY2F0Y2ggKGV4Y2VwdGlvbikgeworICAgICAgICByZXR1cm4gZXhjZXB0aW9uOwor
ICAgIH0KK30KKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25UZXN0KHRyYW5zYWN0aW9uLCBwYXJh
bWV0ZXJMaXN0LCBleHBlY3RFeGNlcHRpb24pCit7CisgICAgdmFyIGV4Y2VwdGlvbiA9IHRyeUV4
ZWN1dGVTcWwodHJhbnNhY3Rpb24sIHBhcmFtZXRlckxpc3QpOworICAgIGlmIChleHBlY3RFeGNl
cHRpb24pIHsKKyAgICAgICAgaWYgKGV4Y2VwdGlvbikKKyAgICAgICAgICAgIGxvZygiUEFTUy4g
ZXhlY3V0ZVNxbCgiICsgcGFyYW1ldGVyTGlzdCArICIpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBl
eHBlY3RlZC4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nKCIqRkFJTCouIGV4ZWN1
dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbiIp
OworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChleGNlcHRpb24pCisgICAgICAgICAgICBsb2co
IipGQUlMKi4gZXhlY3V0ZVNxbCgiICsgcGFyYW1ldGVyTGlzdCArICIpIHRocmV3IGFuIGV4Y2Vw
dGlvbjogIiArIGV4Y2VwdGlvbik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZygiUEFT
Uy4gZXhlY3V0ZVNxbCgiICsgcGFyYW1ldGVyTGlzdCArICIpIGRpZCBub3QgdGhyb3cgYW4gZXhj
ZXB0aW9uIik7CisgICAgfQorfQorCitmdW5jdGlvbiBydW5UcmFuc2FjdGlvblRlc3RzKHRyYW5z
YWN0aW9uKQoreworICAgIGZvciAoaSBpbiBleHBlY3ROb0V4Y2VwdGlvbikKKyAgICAgICAgcnVu
VHJhbnNhY3Rpb25UZXN0KHRyYW5zYWN0aW9uLCBleHBlY3ROb0V4Y2VwdGlvbltpXSwgZmFsc2Up
OworICAgIGZvciAoaSBpbiBleHBlY3RFeGNlcHRpb24pCisgICAgICAgIHJ1blRyYW5zYWN0aW9u
VGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0RXhjZXB0aW9uW2ldLCB0cnVlKTsKKworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisKKyAgICB2YXIgZGIg
PSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJFeGVjdXRlU1FMQXJnc1Rlc3QiLCAiMS4wIiwgIlRl
c3Qgb2YgaGFuZGxpbmcgb2YgdGhlIGFyZ3VtZW50cyB0byBTUUxUcmFuc2FjdGlvbi5leGVjdXRl
U3FsIiwgMSk7CisgICAgZGIudHJhbnNhY3Rpb24ocnVuVHJhbnNhY3Rpb25UZXN0cyk7Cit9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2VwdHMt
b25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI5NWNlZWU4Yzg4M2FkZTE0M2VhOTZhMTUyMzU3ZDA2NzU5YTlmYTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2Vw
dHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMg
dGVzdCB0ZXN0cyB0aGF0IGV4ZWN1dGVTcWwoKSBmYWlscyB3aGVuIGNhbGxlZCB3aXRoIGEgc3Ry
aW5nIHRoYXQgaGFzIG1vcmUgdGhhbiBvbmUgdmFsaWQgc3RhdGVtZW50IGluIGl0LgorVGVzdCBw
YXNzZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVz
cWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hMzg2MGM4OTkyNWYyZmNkYjEwNjM2ZmU3YzYyM2FjODNiMTM2MDJhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9u
bHktb25lLXN0YXRlbWVudC5odG1sCkBAIC0wLDAgKzEsNzggQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PgorCit2YXIgVE9UQUxfU1RBVEVNRU5UUyA9IDg7Cit2YXIgc3RhdGVtZW50cyA9IDA7
Cit2YXIgZGIgPSBudWxsOworCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVu
dC5ib2R5LmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gdGVybWlu
YXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBleGVj
dXRlU3RhdGVtZW50KGV4cGVjdGVkVG9QYXNzLCBzdGF0ZW1lbnQpCit7CisgICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbChzdGF0ZW1lbnQsIFtd
LAorICAgICAgICAgICAgZnVuY3Rpb24odHgsIGRhdGEpIHsKKyAgICAgICAgICAgICAgICBpZiAo
IWV4cGVjdGVkVG9QYXNzKSB7CisgICAgICAgICAgICAgICAgICAgIGxvZygiU3RhdGVtZW50ICIg
KyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBlY3RlZCB0byBmYWlsLCBidXQgcGFzc2VkLiIpOworICAg
ICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIGlmICgrK3N0YXRlbWVudHMgPT0gVE9UQUxfU1RBVEVNRU5UUykgeworICAg
ICAgICAgICAgICAgICAgICBsb2coIlRlc3QgcGFzc2VkLiIpOworICAgICAgICAgICAgICAgICAg
ICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSwgZnVu
Y3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkVG9QYXNzKSB7
CisgICAgICAgICAgICAgICAgICAgIGxvZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdh
cyBleHBlY3RlZCB0byBwYXNzLCBidXQgZmFpbGVkLiIpOworICAgICAgICAgICAgICAgICAgICB0
ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmICgr
K3N0YXRlbWVudHMgPT0gVE9UQUxfU1RBVEVNRU5UUykgeworICAgICAgICAgICAgICAgICAgICBs
b2coIlRlc3QgcGFzc2VkLiIpOworICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgfSk7Cit9CisKK2Z1bmN0
aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZGIgPSBvcGVuRGF0YWJh
c2UoIkV4ZWN1dGVTUUxBY2NlcHRzT25seU9uZVN0YXRlbWVudFRlc3QiLCAiMS4wIiwgIiIsIDEp
OworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpIik7CisgICAgfSwg
ZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgbG9nKCJUZXN0IGZhaWxlZDogIiArIGVycm9yLm1l
c3NhZ2UpOworICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgfSwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgx
KSIpOworICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZB
TFVFUyAoMik7Iik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElOU0VSVCBJ
TlRPIFRlc3QgVkFMVUVTICgzKSAgICAiKTsKKyAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVl
LCAiICAgSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDQpOyAgICIpOworICAgICAgICBleGVjdXRl
U3RhdGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoNSkgICA7Iik7CisgICAg
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2UsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoNik7
IGdhcmJhZ2UiKTsKKyAgICAgICAgZXhlY3V0ZVN0YXRlbWVudChmYWxzZSwgIklOU0VSVCBJTlRP
IFRlc3QgVkFMVUVTICg3KTsgSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDgpIik7CisgICAgICAg
IGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2UsICIgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg5KTsg
ICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMTApOyAgICIpOworICAgIH0pOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVz
dHMgdGhhdCBleGVjdXRlU3FsKCkgZmFpbHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0
IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlkIHN0YXRlbWVudCBpbiBpdC48YnI+Cis8L2JvZHk+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9o
YXNoLWNoYW5nZS13aXRoLXhoci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGU5NjRl
NjM3NWJkM2EzMWJhYjg4YjcyNTViOGY1NDA3MjRjY2NlYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDQgQEAKK0NoYW5naW5nIHRoZSBoYXNoIHRvIGNyZWF0ZSBoaXN0b3J5IGVu
dHJpZXMuCitEYiBpcyB3YXJtZWQgdXAKK1Rlc3QgQ29tcGxldGUsIFNVQ0NFU1MKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14aHIuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTg0MzIwZjBmMTljNzhjNGZjYzhjNmY4NTQyMGJlOGNmNTZiMzM5YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdp
dGgteGhyLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+IAorPGhlYWQ+IAorPHRpdGxlPkhh
c2ggQ2hhbmdlIHdpdGggYW4gT3BlbiBYSFIgc2hvdWxkIG5vdCBzdG9wIGRhdGFiYXNlIHRyYW5z
YWN0aW9uczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iaGFzaC1jaGFuZ2Utd2l0aC14aHIuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPiAKKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCkiPiAKKzxwcmUg
aWQ9ImNvbnNvbGUiPgorRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+Cis8L2JvZHk+
IAorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1j
aGFuZ2Utd2l0aC14aHIuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5n
ZS13aXRoLXhoci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjU2Zjc5NWExODJlMWE4MWRhZmI2NDAwZWM4M2M4
YzMwYzBkNWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
aGFzaC1jaGFuZ2Utd2l0aC14aHIuanMKQEAgLTAsMCArMSwxMTggQEAKK3ZhciBEQl9VUERBVEVf
SU5URVJWQUwgPSAxMDA7Cit2YXIgU0VORF9YSFJfSU5URVJWQUwgPSAxMDA7Cit2YXIgQkFDS19J
TlRFUlZBTCA9IDEwMDsKK3ZhciBDUkVBVEVfSEVBTFRIX1RBQkxFID0gJ0NSRUFURSBUQUJMRSBJ
RiBOT1QgRVhJU1RTIGhlYWx0aCAoa2V5IFZBUkNIQVIoMTYpIFBSSU1BUlkgS0VZKTsnOwordmFy
IFVQREFURV9EQVRBID0gJ1JFUExBQ0UgSU5UTyBoZWFsdGggVkFMVUVTKCJoZWFsdGgtY2hlY2st
a2V5Iik7JzsKKyAKK3ZhciBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoJ2J1ZzI1NzEwJywg
JzEuMCcsICdMYXlvdXRUZXN0IGZvciBidWcgMjU3MTAnLCAxMDI0MDApOwordmFyIGJhY2tJdGVy
YXRpb25zOwordmFyIHhockZjdEludGVydmFsSWQ7Cit2YXIgYmFja0ZjdEludGVydmFsSWQ7Cit2
YXIgc3VjY2Vzc0NoZWNrSW50ZXJ2YWxJZDsKK3ZhciBkYkZjdEludGVydmFsSWQ7Cit2YXIgc3Vj
Y2Vzc2VzOwordmFyIGRhdGFiYXNlVXBkYXRlczsKK3ZhciBzdG9wcGVkSW50ZXJ2YWxzOworIAor
ZnVuY3Rpb24gc3RvcEludGVydmFscygpCit7CisgICAgc3RvcHBlZEludGVydmFscyA9IHRydWU7
CisgICAgY2xlYXJJbnRlcnZhbChkYkZjdEludGVydmFsSWQpOworICAgIGNsZWFySW50ZXJ2YWwo
eGhyRmN0SW50ZXJ2YWxJZCk7CisgICAgY2xlYXJJbnRlcnZhbChiYWNrRmN0SW50ZXJ2YWxJZCk7
Cit9CisKK2Z1bmN0aW9uIHN0b3BUZXN0KG1lc3NhZ2UpCit7CisgICAgaWYgKCFzdG9wcGVkSW50
ZXJ2YWxzKQorICAgICAgICBzdG9wSW50ZXJ2YWxzKCk7CisKKyAgICBsb2cobWVzc2FnZSk7CisK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisgICAgCitmdW5jdGlvbiB1cGRhdGVEYXRhYmFz
ZSgpCit7CisgICAgZGF0YWJhc2VVcGRhdGVzKys7ICAKKyAgICBkYi50cmFuc2FjdGlvbihmdW5j
dGlvbih0cmFuc2FjdGlvbikgeworICAgICAgICB0cmFuc2FjdGlvbi5leGVjdXRlU3FsKFVQREFU
RV9EQVRBLCBbXSwgZnVuY3Rpb24oKSB7fSwgZXJyb3JIYW5kbGVyKTsKKyAgICB9LCBlcnJvckhh
bmRsZXIsIGZ1bmN0aW9uKCkgeworICAgICAgICBzdWNjZXNzZXMrKzsKKyAgICB9KTsKK30KKwor
ZnVuY3Rpb24gY2hlY2tGb3JTdWNjZXNzKCkKK3sKKyAgICBpZiAoc3VjY2Vzc2VzID09IGRhdGFi
YXNlVXBkYXRlcykgeworICAgICAgICBzdG9wVGVzdCgnVGVzdCBDb21wbGV0ZSwgU1VDQ0VTUycp
OworICAgICAgICBjbGVhckludGVydmFsKHN1Y2Nlc3NDaGVja0ludGVydmFsSWQpOworICAgIH0K
K30KKyAKK2Z1bmN0aW9uIGVycm9ySGFuZGxlcih0eCwgZXJyb3IpCit7CisgICAgbG9nKCdEQiBl
cnJvciwgY29kZTogJyArIGVycm9yLmNvZGUgKyAnLCBtc2c6ICcgKyBlcnJvci5tZXNzYWdlKTsK
KyAgICBzdG9wVGVzdCgnVGVzdCBDb21wbGV0ZSwgRkFJTEVEJyk7Cit9CisgCitmdW5jdGlvbiBz
ZW5kWGhyKCkKK3sKKyAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4aHIub3Bl
bignR0VUJywgbG9jYXRpb24uaHJlZiwgdHJ1ZSk7CisgICAgeGhyLnNlbmQoJycpOworfQorIAor
ZnVuY3Rpb24gaW52b2tlQmFjaygpCit7CisgICAgYmFja0l0ZXJhdGlvbnMtLTsKKyAgICBpZiAo
YmFja0l0ZXJhdGlvbnMpIHsKKyAgICAgICAgaGlzdG9yeS5iYWNrKCk7CisgICAgfSBlbHNlIHsK
KyAgICAgICAgc3RvcEludGVydmFscygpOworICAgICAgICAvLyBBbGxvdyBhIGxpdHRsZSB0aW1l
IGZvciBhbGwgdGhlIGRhdGFiYXNlIHRyYW5zYWN0aW9ucyB0byBjb21wbGV0ZSBub3cgd2UndmUg
c3RvcHBlZCBtYWtpbmcgdGhlbS4KKyAgICAgICAgc3VjY2Vzc0NoZWNrSW50ZXJ2YWxJZCA9IHNl
dEludGVydmFsKGNoZWNrRm9yU3VjY2VzcywgMjUwKTsKKyAgICAgICAgLy8gSWYgd2UgZG9uJ3Qg
ZmluaXNoIGJlZm9yZSB0aGlzIHRpbWUsIHRoZW4gd2UgY29uc2lkZXIgdGhlIHRlc3QgZmFpbGVk
LgorICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBzdG9wVGVzdCgnVGltZWQgb3V0IHdh
aXRpbmcgZm9yIHRyYW5zYWN0aW9ucyB0byBjb21wbGV0ZS4gRkFJTEVEJyk7IH0sIDIwMDAwKTsK
KyAgICAgICAgCisgICAgfQorfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICAvLyBMb2Nh
dGlvbiBjaGFuZ2VzIG5lZWQgdG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRv
IGdlbmVyYXRlIGhpc3RvcnkgZW50cmllcy4KKyAgICBzZXRUaW1lb3V0KHJ1blRlc3RzSW5uZXIs
IDApOworfQorCitmdW5jdGlvbiBydW5UZXN0c0lubmVyKCkKK3sKKyAgICBiYWNrSXRlcmF0aW9u
cyA9IDEwOworICAgIGNvbnNlY3V0aXZlRmFpbHVyZXMgPSAwOworICAgIHN1Y2Nlc3NlcyA9IDA7
CisgICAgZGF0YWJhc2VVcGRhdGVzID0gMDsKKyAgICBzdG9wcGVkSW50ZXJ2YWxzID0gZmFsc2U7
CisKKyAgICAvLyBDcmVhdGUgc29tZSBoYXNoZXMgc28gd2UgY2FuIGNhbGwgaGlzdG9yeS5iYWNr
KCkuCisgICAgbG9nKCdDaGFuZ2luZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVz
LicpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmFja0l0ZXJhdGlvbnM7IGkrKykgeworICAg
ICAgICBzZXRMb2NhdGlvbkhhc2goaSk7CisgICAgfQorCisgICAgLy8gSW5pdCB0aGUgZGF0YWJh
c2UuCisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHJhbnNhY3Rpb24pIHsKKyAgICAgICAg
dHJhbnNhY3Rpb24uZXhlY3V0ZVNxbChDUkVBVEVfSEVBTFRIX1RBQkxFLCBbXSwgZnVuY3Rpb24o
KSB7fSwgZXJyb3JIYW5kbGVyKTsKKyAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAvLyBHaXZlIGEgbGl0dGxlIGZvciB0aGUgZGF0YWJhc2UgdG8gJ3dhcm0gdXAnIGJl
Zm9yZSBtYWtpbmcgeGhyIHJlcXVlc3RzCisgICAgICAgIC8vIGFuZCBjYWxsaW5nIGhpc3Rvcnku
YmFjaygpLgorICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgbG9n
KCdEYiBpcyB3YXJtZWQgdXAnKTsKKworICAgICAgICAgICAgLy8gTk9URTogSWYgd2UgZG9uJ3Qg
bWFrZSBhbnkgeGhyIHJlcXVlc3RzLCB0aGVuIHRoZSB0ZXN0CisgICAgICAgICAgICAvLyBzdWNj
ZXNzZnVsbHkgcGFzc2VzIChjb21tZW50IHRoaXMgbGluZSBvdXQpLgorICAgICAgICAgICAgeGhy
RmN0SW50ZXJ2YWxJZCA9IHNldEludGVydmFsKHNlbmRYaHIsIFNFTkRfWEhSX0lOVEVSVkFMKTsK
KyAgICAgICAgICAgIGJhY2tGY3RJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoaW52b2tlQmFjaywg
QkFDS19JTlRFUlZBTCk7CisgICAgICAgICAgICBkYkZjdEludGVydmFsSWQgPSBzZXRJbnRlcnZh
bCh1cGRhdGVEYXRhYmFzZSwgREJfVVBEQVRFX0lOVEVSVkFMKTsKKyAgICAgICAgfSwgNTAwKTsK
KyAgICB9KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRp
cGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDAxNTE0YTZhZWZiMzYyOGViMDAzNjRjYjI2MjRjMjBl
MGU4OTAwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211
bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNCBAQAorVGhpcyB0ZXN0IG9wZW5zIHR3byBkYXRhYmFzZXMsIHF1ZXVlcyB1cCBhIHNlcmll
cyBvZiBvcGVyYXRpb25zIG9uIGJvdGgsIHRoZW4gImZvcmdldHMiIGFib3V0IG9uZSBvZiB0aGVt
LiBBZnRlciBmb3JjaW5nIEdDLCByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgZGF0YWJh
c2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVsbHkuCitGb3Jnb3R0ZW4gRGF0YWJhc2UgVHJhbnNh
Y3Rpb24gQ29tcGxldGUKK1BlcnNpc3RlbnQgRGF0YWJhc2UgVHJhbnNhY3Rpb24gQ29tcGxldGUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJh
c2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
bXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0
NTFhY2ZiYjk5YTQzOWRkODI0NzZjMTk5NDkxNjY4NmE5YTZmMDIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1j
b2xsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJtdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzIj48L3NjcmlwdD4KKzxi
b2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KK1RoaXMgdGVzdCBvcGVucyB0d28gZGF0
YWJhc2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3BlcmF0aW9ucyBvbiBib3RoLCB0aGVuICJm
b3JnZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4KK0FmdGVyIGZvcmNpbmcgR0MsIHJlc291cmNlcyBh
c3NvY2lhdGVkIHdpdGggdGhhdCBkYXRhYmFzZSBzaG91bGQgYmUgZnJlZWQgZ3JhY2VmdWxseS48
YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3By
ZT4gCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45YTJiMjdmNDdmNmE5MDBkODRiOThkMTg0OGQ3NmVmNjQ0MjBkODZmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0
YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcwpAQCAtMCwwICsxLDU2IEBACitmdW5jdGlvbiBH
QygpCit7CisgICAgLy8gRm9yY2UgR0MuCisgICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisg
ICAgICAgIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisgICAgZWxzZSB7CisgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICAgICAgKHsgfSk7CisgICAgICAg
IH0KKyAgICB9Cit9CisKKy8vIFZhcmlhYmxlIGZvciB0aGUgZGF0YWJhc2UgdGhhdCB3aWxsIG5l
dmVyIGJlIGZvcmdvdHRlbgordmFyIHBlcnNpc3RlbnREQiA9IDA7CisvLyBWYXJpYWJsZSBmb3Ig
dGhlIGZvcmdvdHRlbiBkYXRhYmFzZQordmFyIGZvcmdvdHRlbkRCID0gMDsKKwordmFyIGNvbXBs
ZXRlZCA9IDA7CitmdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oKQoreworICAgIGlmICgrK2NvbXBs
ZXRlZCA9PSAyICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sK
KyAgICBwZXJzaXN0ZW50REIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJNdWx0aXBsZURhdGFi
YXNlc1Rlc3QxIiwgIjEuMCIsICJUZXN0IG9uZSBvdXQgb2YgYSBzZXQgb2YgZGF0YWJhc2VzIGJl
aW5nIGRlc3Ryb3llZCAoMSkiLCAzMjc2OCk7CisgICAgZm9yZ290dGVuREIgPSBvcGVuRGF0YWJh
c2VXaXRoU3VmZml4KCJNdWx0aXBsZURhdGFiYXNlc1Rlc3QyIiwgIjEuMCIsICJUZXN0IG9uZSBv
dXQgb2YgYSBzZXQgb2YgZGF0YWJhc2VzIGJlaW5nIGRlc3Ryb3llZCAoMikiLCAzMjc2OCk7CisK
KyAgICBwZXJzaXN0ZW50REIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRGF0YVRlc3QgKHJhbmRvbURh
dGEpIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgCisgICAgICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IDI1OyArK2kpCisgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJU
IElOVE8gRGF0YVRlc3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoMSkiLCBbXSk7CisgICAgICAgIH0p
OyAKKyAgICB9LCBmdW5jdGlvbihlcnIpIHsKKyAgICAgICAgbG9nKCJQZXJzaXN0ZW50IERhdGFi
YXNlIFRyYW5zYWN0aW9uIEVycm9yZWQgLSAiICsgZXJyKTsKKyAgICAgICAgY2hlY2tDb21wbGV0
aW9uKCk7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRh
YmFzZSBUcmFuc2FjdGlvbiBDb21wbGV0ZSIpOworICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsK
KyAgICB9KTsKKworICAgIGZvcmdvdHRlbkRCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Cisg
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEVtcHR5VGFi
bGUgKHVuaW1wb3J0YW50RGF0YSkiLCBbXSk7CisgICAgfSwgZnVuY3Rpb24oZXJyKSB7CisgICAg
ICAgIGxvZygiRm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIEVycm9yZWQgLSAiICsgZXJy
KTsKKyAgICAgICAgZm9yZ290dGVuREIgPSAwOworICAgICAgICBHQygpOworICAgICAgICBjaGVj
a0NvbXBsZXRpb24oKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgbG9nKCJGb3Jnb3R0
ZW4gRGF0YWJhc2UgVHJhbnNhY3Rpb24gQ29tcGxldGUiKTsKKyAgICAgICAgZm9yZ290dGVuREIg
PSAwOworICAgICAgICBHQygpOworICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKKyAgICB9KTsK
K30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5z
YWN0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBs
ZS10cmFuc2FjdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNlOWMwZjZlOTViYWZiOGY1
NzgzMzYwOTYxNmVmNTJjNzA4OTYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNiBAQAorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHRoZSBkYXRhYmFzZSBBUEkgYWxsb3dz
IG11bHRpcGxlIHRyYW5zYWN0aW9ucyB0byBiZSBxdWV1ZWQgb24gdGhlIHNhbWUgZGF0YWJhc2Ug
YXQgb25jZToKK1RyYW5zYWN0aW9uIDEgU3RhcnRlZAorVHJhbnNhY3Rpb24gMSBTdWNjZWVkZWQK
K1RyYW5zYWN0aW9uIDIgU3RhcnRlZAorVHJhbnNhY3Rpb24gMiBTdWNjZWVkZWQKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9u
LWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYmE2YTJkMTdjYTA2ODcxNzU5MDFiM2ViYmUwN2NjNjJmOGYyZDZlMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRy
YW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4
IEBACitUaGlzIGlzIGEgdGVzdCB0byBzZWUgaWYgcXVldWVpbmcgdXAgbXVsdGlwbGUgdHJhbnNh
Y3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJlc3VsdHMg
aW4gYSBkZWFkbG9jay4KK2RiMSByZWFkIHN0YXRlbWVudCBzdWNjZWVkZWQKK2RiMSB3cml0ZSBz
dGF0ZW1lbnQgc3VjY2VlZGVkCitkYjEgdHJhbnNhY3Rpb24gc3VjY2VlZGVkCitkYjIgcmVhZCBz
dGF0ZW1lbnQgc3VjY2VlZGVkCitkYjIgd3JpdGUgc3RhdGVtZW50IHN1Y2NlZWRlZAorZGIyIHRy
YW5zYWN0aW9uIHN1Y2NlZWRlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJl
bnQtaGFuZGxlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhMThjMzIyYzE1YTM2YjQxYjE0MzA3MzIzZTYz
OTYwYWRlMTYwYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbApAQCAtMCww
ICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFz
ZS1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9u
cy1vbi1kaWZmZXJlbnQtaGFuZGxlcy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxv
YWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIGlzIGEgdGVzdCB0byBzZWUgaWYgcXVldWVp
bmcgdXAgbXVsdGlwbGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBz
YW1lIGRhdGFiYXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay48YnI+Cis8cHJlIGlkPSJjb25zb2xl
Ij4gCitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4gCis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2Fj
dGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWFiNGI5M2VmODNhNzZjN2U0YzkyNDgxZGZmZjBlNTE3N2Y0YWMxZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1v
bi1kaWZmZXJlbnQtaGFuZGxlcy5qcwpAQCAtMCwwICsxLDc4IEBACit2YXIgY29tcGxldGUgPSAw
OworCitmdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oKQoreworICAgIC8vIFRoZSB0ZXN0IHNob3Vs
ZCBlbmQgYWZ0ZXIgdHdvIHRyYW5zYWN0aW9ucworICAgIGlmICgrK2NvbXBsZXRlID09IDIgJiYg
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Cit9CisKKy8vIE9wZW5zIHRoZSBkYXRhYmFzZSB1c2VkIGluIHRoaXMg
dGVzdCBjYXNlCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1cm4gb3Bl
bkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVUcmFuc2FjdGlvbnNPbkRpZmZlcmVudEhhbmRs
ZXNUZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBxdWV1
ZWluZyBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IERCIGhhbmRsZXMgZG9lcyBu
b3QgcmVzdWx0IGluIGEgZGVhZGxvY2suIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAzMjc2OCk7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhkYk5h
bWUsIHN0YXRlbWVudFR5cGUpCit7CisgICAgbG9nKGRiTmFtZSArICIgIiArIHN0YXRlbWVudFR5
cGUgKyAiIHN0YXRlbWVudCBzdWNjZWVkZWQiKTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50RXJy
b3JDYWxsYmFjayhkYk5hbWUsIHN0YXRlbWVudFR5cGUsIGVycm9yKQoreworICAgIGxvZyhkYk5h
bWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFpbGVkOiAiICsgZXJyb3Iu
bWVzc2FnZSk7Cit9CisKKy8vIFJ1bnMgYSB0cmFuc2FjdGlvbiBvbiB0aGUgZ2l2ZW4gZGF0YWJh
c2UKK2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uKGRiLCBkYk5hbWUsIHZhbCkKK3sKKyAgICBkYi50
cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgIC8vIEV4ZWN1dGUgYSByZWFkLW9ubHkg
c3RhdGVtZW50CisgICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIENPVU5UKCopIEZST00gVGVz
dDsiLCBbXSwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkgeyBzdGF0ZW1l
bnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCAicmVhZCIpOyB9LAorICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IHN0YXRlbWVudEVycm9yQ2FsbGJhY2soZGJOYW1lLCAi
cmVhZCIsIGVycm9yKTsgfSk7CisKKyAgICAgICAvLyBFeGVjdXRlIGEgd3JpdGUgc3RhdGVtZW50
IHRvIG1ha2Ugc3VyZSBTUUxpdGUgdHJpZXMgdG8gYWNxdWlyZSBhbiBleGNsdXNpdmUgbG9jayBv
biB0aGUgREIgZmlsZQorICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFM
VUVTICg/KTsiLCBbdmFsXSwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkg
eyBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCAid3JpdGUiKTsgfSwKKyAgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNr
KGRiTmFtZSwgIndyaXRlIiwgZXJyb3IpOyB9KTsKKyAgICAgICB9LCBmdW5jdGlvbihlcnJvcikg
eworICAgICAgICAgICAvLyBUcmFuc2FjdGlvbiBmYWlsdXJlIGNhbGxiYWNrCisgICAgICAgICAg
IGxvZyhkYk5hbWUgKyAiIHRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwor
ICAgICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKKyAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgLy8gVHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjaworICAgICAgICAgICBsb2co
ZGJOYW1lICsgIiB0cmFuc2FjdGlvbiBzdWNjZWVkZWQiKTsKKyAgICAgICAgICAgY2hlY2tDb21w
bGV0aW9uKCk7CisgICAgICAgfSk7Cit9CisKKy8vIFdlIG5lZWQgdG8gZ3VhcmFudGVlIHRoYXQg
dGhlIFRlc3QgdGFibGUgZXhpc3RzIGJlZm9yZSB3ZSBydW4gb3VyIHRlc3QuCisvLyBUaGVyZWZv
cmUsIHRoZSB0ZXN0IGNvZGUgaXMgaW4gdGhlIHN1Y2Nlc3NDYWxsYmFjayBvZiB0aGUgdHJhbnNh
Y3Rpb24gdGhhdCBjcmVhdGVzIHRoZSB0YWJsZS4KK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
dHJ5IHsKKyAgICAgICAgdmFyIGRiID0gb3BlblRlc3REYXRhYmFzZSgpOworICAgICAgICBkYi50
cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBUZXN0
IHRhYmxlIGlmIGl0IGRvZXMgbm90IGV4aXN0CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJD
UkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gaW50KTsiLCBbXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7fSwgZnVuY3Rpb24odHgsIGVycm9y
KSB7fSk7CisgICAgICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAg
IGxvZygiQ3JlYXRpbmcgdGhlIFRlc3QgdGFibGUgZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7
CisgICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAvLyBUaGUgVGVz
dCB0YWJsZSB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHkKKyAgICAgICAgICAgICAgICB2YXIgZGIx
ID0gb3BlblRlc3REYXRhYmFzZSgpOworICAgICAgICAgICAgICAgIHZhciBkYjIgPSBvcGVuVGVz
dERhdGFiYXNlKCk7CisgICAgICAgICAgICAgICAgaWYgKGRiMSA9PSBkYjIpCisgICAgICAgICAg
ICAgICAgICAgIGxvZygiZmFpbHVyZTogZGIxID09IGRiMiIpOworICAgICAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgICAgICBydW5UcmFuc2FjdGlvbihkYjEsICJkYjEiLCAxKTsK
KyAgICAgICAgICAgICAgICAgICAgcnVuVHJhbnNhY3Rpb24oZGIyLCAiZGIyIiwgMik7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSk7CisgICAgfSBjYXRjaChlcnIpIHt9Cit9CisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2Fj
dGlvbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTk3NDQwMTM5NmVmZGM4NzUzYTYwZmIzZTk0ODEyNDI4
NTAzNGNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJtdWx0aXBsZS10cmFuc2FjdGlvbnMuanMiPjwvc2NyaXB0PgorPGhlYWQ+Cis8
Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIGlzIGEgdGVzdCB0byBzZWUg
aWYgdGhlIGRhdGFiYXNlIEFQSSBhbGxvd3MgbXVsdGlwbGUgdHJhbnNhY3Rpb25zIHRvIGJlIHF1
ZXVlZCBvbiB0aGUgc2FtZSBkYXRhYmFzZSBhdCBvbmNlOjxicj4KKzxwcmUgaWQ9ImNvbnNvbGUi
PiAKK0ZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPiAKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0
aW9ucy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9u
cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NWNkYWJjZGJkZDY0YzNiNGExZGQ2M2YzNTMxNTg2OTYyY2FkNjE5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUt
dHJhbnNhY3Rpb25zLmpzCkBAIC0wLDAgKzEsMzIgQEAKK3ZhciBjb21wbGV0ZSA9IDA7CisKK2Z1
bmN0aW9uIGNoZWNrQ29tcGxldGlvbigpCit7CisgICAgaWYgKCsrY29tcGxldGUgPT0gMiAmJiB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgdmFyIGRiID0g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVUcmFuc2FjdGlvbnNUZXN0IiwgIjEuMCIs
ICJUZXN0IHRvIG1ha2Ugc3VyZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHF1ZXVlZCBh
dCBvbmNlIGZvciBhbiBIVE1MNSBkYXRhYmFzZSIsIDMyNzY4KTsKKworICAgIGRiLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBTdGFydGVkIik7
CisgICAgfSwgZnVuY3Rpb24oZXJyKSB7CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBFcnJv
cmVkIC0gIiArIGVycik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOworICAgIH0sIGZ1bmN0
aW9uKCkgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkIik7CisgICAgICAg
IGNoZWNrQ29tcGxldGlvbigpOworICAgIH0pOworCisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsKKyAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIFN0YXJ0ZWQiKTsKKyAgICB9LCBm
dW5jdGlvbihlcnIpIHsKKyAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIEVycm9yZWQgLSAiICsg
ZXJyKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdWNjZWVkZWQiKTsKKyAgICAgICAgY2hlY2tDb21w
bGV0aW9uKCk7CisgICAgfSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMxMTY3NTEwNmQ4
MTY5OTExMTRhZDkxYzY2MzgwYzI3YzM3ZDNhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCAnbnVsbCcgY2FuIGJlIHVzZWQgd2hlcmV2ZXIg
d2UgZXhwZWN0IGFuIG9wdGlvbmFsIGNhbGxiYWNrLgorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVsbC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNhMGUxYzNmZmJj
ZDMzNjYxMGRmYTM3YTU4NzY5ZjAyYzQ4Njk2ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJOdWxs
Q2FsbGJhY2tzIiwgIjEuMCIsICJUZXN0IGZvciBudWxsIGNhbGxiYWNrcy4iLCAxKTsKKyAgICAg
ICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpIiwgbnVsbCk7Cisg
ICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPykiLCBb
MV0sIG51bGwsIG51bGwpOworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8g
VGVzdCBWQUxVRVMgKD8pIiwgWzJdLCBudWxsKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgzKSIsIG51bGwsIG51bGwsIG51bGwpOworICAgICAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKD8pIiwgWzRdLCBu
dWxsLAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOworICAgICAgICB9
LCBudWxsLCBudWxsKTsKKworICAgICAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewor
ICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKD8pIiwg
WzVdKTsKKyAgICAgICAgfSwgbnVsbCwgZnVuY3Rpb24oKSB7IGZpbmlzaFRlc3QoKTsgfSk7Cisg
ICAgfSBjYXRjaChlcnIpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNv
bGUiKS5pbm5lckhUTUwgPSAiRkFJTCI7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9
CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVjdCBh
biBvcHRpb25hbCBjYWxsYmFjay4KKzxwcmUgaWQ9ImNvbnNvbGUiPlBBU1M8L3ByZT4KKzwvYm9k
eT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Bl
bi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iMmYzZmNiNmJhZGRhMTMwNTE1Mjg5NmU0OGEyYTEwNTMzZDJjYjE1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFz
ZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitDT05TT0xF
IE1FU1NBR0U6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlLCB2ZXJzaW9uIG1pc21hdGNoLCAnMS4w
JyBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKK1RoaXMgdGVzdCB0ZXN0
cyBvcGVuRGF0YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZhOTZhNjc1NGQ4ZGY1NzQwMGNlNDZjOWRjY2EyM2U1YzQyNzU4NDUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNl
LWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2
aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgorVGhpcyB0ZXN0IHRl
c3RzIHRoYXQgdGhlIG9wZW5EYXRhYmFzZSgpIGNyZWF0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBp
biB0aGUgcmlnaHQgd29ybGQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGE0NjY0YmUyMGZmZmM1YmQ4OTk5
ZWY0NDg3YmZhYjBlZjVjYjQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KK1Ro
aXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSBvcGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBp
cyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgordmFyIGNyZWF0aW9uQ2FsbGJhY2tzRXhlY3V0ZWQgPSAwOworZnVuY3Rpb24gZG9u
ZSgpCit7CisgICAgaWYgKCgrK2NyZWF0aW9uQ2FsbGJhY2tzRXhlY3V0ZWQgPT0gMikgJiYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gY3JlYXRpb25DYWxsYmFjazEoZGIpCit7Cisg
ICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgp
OworfQorCitmdW5jdGlvbiBjcmVhdGlvbkNhbGxiYWNrMihkYikKK3sKKyAgICBhbGVydChkb2N1
bWVudC5ib2R5LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJG
QUlMOiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1
bWVudC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2Fs
bGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygp
OworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZh
bHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlv
biBjcmVhdGlvbkNhbGxiYWNrMShkYilcbiIgKworICAgICAgICAie1xuIiArCisgICAgICAgICIg
ICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIgICAgd2luZG93Lmxv
Y2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIgKworICAgICAg
ICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnT3BlbkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFja0lz
b2xhdGVkV29ybGQnLCAnMS4wJywgJycsIDEsIGNyZWF0aW9uQ2FsbGJhY2sxKTsiKTsKKworICAg
IHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ09wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tJc29s
YXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSwgY3JlYXRpb25DYWxsYmFjazIpOworfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDgxNjQ1YzQ1ZWU3NGQ0YjYxYWEwMTk4MDM0YTk0YThkNGE3ZTM1OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRp
b24tY2FsbGJhY2suaHRtbApAQCAtMCwwICsxLDkxIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9u
IGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24g
cnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDMyNzY4KTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcERhdGFiYXNlQ2FsbGJhY2tzKCk7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHZhciB0cmFuc2FjdGlvbnNSdW4gPSAw
OworCisgICAgLy8gT3BlbiBhIG5ldyBkYXRhYmFzZSB3aXRoIGEgY3JlYXRpb24gY2FsbGJhY2ss
IGFuZCBtYWtlIHN1cmUgdGhlIGNyZWF0aW9uIGNhbGxiYWNrIGlzIHF1ZXVlZAorICAgIHZhciBj
cmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSA9IGZhbHNlOworICAgIHZhciBkYjFOYW1lID0gIk9wZW5E
YXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2sxIiArIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7CisgICAg
dmFyIGRiMSA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbihkYikgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpZiAoZGIudmVyc2lvbiAhPSAiIikgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW9uIGNhbGxiYWNrIHdhcyBjYWxsZWQgd2l0aCBh
IGRhdGFiYXNlIHdpdGggdmVyc2lvbiAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRiLnZlcnNpb24gKyAiOyBlbXB0eSBzdHJpbmcgZXhwZWN0ZWQuIik7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKwor
ICAgIC8vIFB1dHRpbmcgdGhpcyBjb2RlIGluc2lkZSBhIHRyYW5zYWN0aW9uIG9uICdkYjEnIG1h
a2VzIHN1cmUgdGhhdCBpdCBpcyBleGVjdXRlZCBhZnRlcgorICAgIC8vIHRoZSBjcmVhdGlvbiBj
YWxsYmFjayBpcy4KKyAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
aWYgKCFjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSkgeworICAgICAgICAgICAgbG9nKCJDcmVhdGlv
biBjYWxsYmFjayBmb3IgZGIxIHdhcyBub3QgY2FsbGVkLiIpOworICAgICAgICAgICAgZmluaXNo
VGVzdCgpOworICAgICAgICB9CisgICAgICAgIGlmICgrK3RyYW5zYWN0aW9uc1J1biA9PSAyKQor
ICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0pOworCisgICAgLy8gVHJ5IHRvIG9wZW4g
YW5vdGhlciBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UuCisgICAgLy8gU2luY2UgdGhlIHZl
cnNpb24gb2YgdGhpcyBkYXRhYmFzZSBpcyAiIiAoZW1wdHkgc3RyaW5nKSwgb3BlbkRhdGFiYXNl
KCkgc2hvdWxkIHJldHVybgorICAgIC8vIGEgbnVsbCBoYW5kbGUgYW5kIHRocm93IGEgSU5WQUxJ
RF9TVEFURV9FUlIgZXhjZXB0aW9uLgorICAgIHZhciBkYjFGYWlsID0gbnVsbDsKKyAgICB0cnkg
eworICAgICAgICBkYjFGYWlsID0gb3BlbkRhdGFiYXNlKGRiMU5hbWUsICIxLjAiLCAiIiwgMSk7
CisgICAgICAgIGxvZygiVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBoYXZlIGJlZW4gZXhlY3V0
ZWQ7IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBzaG91bGQndmUgYmVlbiB0aHJvd24u
Iik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9IGNhdGNoKGVycikgeworICAgICAgICBp
ZiAoZGIxRmFpbCkgeworICAgICAgICAgICAgbG9nKCJkYjFGYWlsIHNob3VsZCBoYXZlIGJlZW4g
bnVsbC4iKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIC8vIE9wZW4gYSBoYW5kbGUgdG8gYW5vdGhlciBkYXRhYmFzZSwgZmlyc3Qgd2l0aG91dCBh
IGNyZWF0aW9uIGNhbGxiYWNrLCB0aGVuIHdpdGggb25lLgorICAgIC8vIE1ha2Ugc3VyZSB0aGUg
Y3JlYXRpb24gY2FsbGJhY2sgaXMgbm90IGNhbGxlZC4KKyAgICB2YXIgY3JlYXRpb25DYWxsYmFj
a0NhbGxlZDIgPSBmYWxzZTsKKyAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCJPcGVuRGF0YWJh
c2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAiIiwgMSk7CisgICAgZGIyID0gb3BlbkRhdGFi
YXNlKCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAiIiwgMSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZGIpIHsgY3JlYXRpb25DYWxsYmFja0NhbGxlZDIg
PSB0cnVlOyB9KTsKKyAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
aWYgKGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyKSB7CisgICAgICAgICAgICBsb2coIkNyZWF0aW9u
IGNhbGxiYWNrIGZvciBkYjIgc2hvdWxkIG5vdCBoYXZlIGJlZW4gY2FsbGVkLiIpOworICAgICAg
ICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICB9CisgICAgICAgIGlmICgrK3RyYW5zYWN0aW9u
c1J1biA9PSAyKQorICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0pOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IHRl
c3RzIG9wZW5EYXRhYmFzZSgpJ3MgY3JlYXRpb24gY2FsbGJhY2suCis8cHJlIGlkPSJjb25zb2xl
Ij4KKzwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMmUyZmZjMzBkNGE0NjViZGRlYmM5OWJmMDM2Nzk1OTll
Zjk4ZmY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Bl
bi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1Ro
aXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24g
c3RyaW5nIGRvZXMgbm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0byBiZSB0aHJvd24uCitTVUNDRVNT
ISBEaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDYwNDExMzgzZjE4Y2Y4MGM5YzRhZDgzOGY3MTU0OWI2OWM2Njc2YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHkt
dmVyc2lvbi5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSAKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIAorICAg
IHRyeSB7ICAgIAorICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJzU1NjI0NzBUZXN0Jywg
JycsICdUZXN0IGZvciA8cmRhcjovL3Byb2JsZW0vNTU2MjQ3MD4gb3BlbkRhdGFiYXNlIGRvZXMg
bm90IHdvcmsgd2hlbiB0aGUgdmVyc2lvbiBzdHJpbmcgaXMgZW1wdHknLCAxKTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5l
ckhUTUwgPSAnRkFJTFVSRScKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGhpcyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFi
YXNlIHdpdGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgZG9lcyBub3QgY2F1c2UgYW4gZXhjZXB0
aW9uIHRvIGJlIHRocm93bi4KKzxkaXYgaWQ9InJlc3VsdCI+CitTVUNDRVNTISBEaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbi4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1x
dW90YS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBjMTVlNDIwNGY1NjEyMzc2OGNkMWU1ZWU2
YzI2YWFlOGRiNmIzNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBA
CitUaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhIHNpemUgb3ZlciA1
TUIgZG9lc24ndCBhc3NlcnQgb24gZGVidWcgYnVpbGRzLgorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yYTkyNjRkZTMzZGYxMTc0NDliNGMzZTUzYTY3Y2ZlZjk2NDQxYmZlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1v
dmVyLXF1b3RhLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIH0KKworICAg
IHRyeSB7CisgICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgnT3ZlclF1b3RhT3BlbicsICcn
LCAnVGVzdCBmb3IgYnVnIDM2NDczOiBtaXNzaW5nIGxvY2sgaW4gY2FsbCB0byBkb25lQ3JlYXRp
bmdEYXRhYmFzZScsIDEwMDAwMDAwKTsKKyAgICB9IGNhdGNoIChlcnIpIHsKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdQQVNTJworICAgIH0K
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5U
aGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhIHNpemUgb3ZlciA1TUIg
ZG9lc24ndCBhc3NlcnQgb24gZGVidWcgYnVpbGRzLgorPGRpdiBpZD0icmVzdWx0Ij4KK0ZBSUw6
IFdlIHNob3VsZG4ndCBoYXZlIGJlZW4gYWJsZSB0byBvcGVuIHRoZSBkYXRhYmFzZS4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMWQ5OTYwMzQ0Y2Y1MDg0MmY3ZmU5NThlZTdjNmRlMjc2NGIy
ZGY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1k
YXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitD
T05TT0xFIE1FU1NBR0U6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlLCB2ZXJzaW9uIG1pc21hdGNo
LCAndGVzdCcgZG9lcyBub3QgbWF0Y2ggdGhlIGN1cnJlbnRWZXJzaW9uIG9mICcnCitUaGlzIHRl
c3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmlu
ZyBzZXRzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhhdCBkYXRhYmFzZSB0byB0aGUgZW1wdHkg
c3RyaW5nIGFuZCBzdWJzZXF1ZW50IGF0dGVtcHRzIHRvIG9wZW4gdGhlIGRhdGFiYXNlIHdpdGgg
YSBkaWZmZXJlbnQgZXhwZWN0ZWQgdmVyc2lvbiB0aHJvdyBhbiBleGNlcHRpb24uCitTVUNDRVNT
LCBhbiBleGNlcHRpb24gd2FzIHRocm93bi4gRXJyb3I6IElOVkFMSURfU1RBVEVfRVJSOiBET00g
RXhjZXB0aW9uIDExCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjM2
MDdmZDE5YzlkNzg1MWQyYTBlZmE0M2UzNTA0MGFjOTllZGY0ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNp
b24uaHRtbApAQCAtMCwwICsxLDI2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgfQorICAgIAorICAgIHRy
eSB7ICAgIAorICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJzI4NDE3VGVzdCcsICcnLCAn
VGVzdCBmb3IgYnVnIDI4NDE3OiBvcGVuRGF0YWJhc2UoKSB3aXRoIGVtcHR5IHZlcnNpb24gc2V0
cyBkYiB2ZXJzaW9uIHVwIGluY29ycmVjdGx5JywgMCk7CisgICAgICAgIC8vIFRoZSBuZXh0IG9w
ZW5EYXRhYmFzZSBjYWxsIHNob3VsZCBmYWlsIGJlY2F1c2UgdGhlIGRhdGFiYXNlIHZlcnNpb24g
d2FzIHNldCB0byAnJyBieSB0aGUgY2FsbCBhYm92ZSwgYW5kIG5vdyB3ZSBhcmUgZXhwZWN0aW5n
IGEgZGlmZmVyZW50IHZlcnNpb24uCisgICAgICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJzI4
NDE3VGVzdCcsICd0ZXN0JywgJ1Rlc3QgZm9yIGJ1ZyAyODQxNzogb3BlbkRhdGFiYXNlKCkgd2l0
aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVyc2lvbiB1cCBpbmNvcnJlY3RseScsIDApOworICAg
IH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcp
LmlubmVySFRNTCA9ICdTVUNDRVNTLCBhbiBleGNlcHRpb24gd2FzIHRocm93bi4gJyArIGU7Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8
ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZl
cnNpb24gc3RyaW5nIHNldHMgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiB0aGF0IGRhdGFiYXNlIHRv
IHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1YnNlcXVlbnQgYXR0ZW1wdHMgdG8gb3BlbiB0aGUgZGF0
YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBleHBlY3RlZCB2ZXJzaW9uIHRocm93IGFuIGV4Y2VwdGlv
bi48L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+CitGQUlMVVJFIC0gYW4gZXhjZXB0aW9uIHdhcyBl
eHBlY3RlZC4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9n
cmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFi
YXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hY2FjOGFmY2ViZTExZDYxMDdlZThkOGU3Njg0MWIzNTZhYmUwMzYzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFu
c2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIGlz
IGEgdGVzdCB0byBzZWUgaWYgb3BlbmluZyBhIGRhdGFiYXNlIHdoaWxlIGEgdHJhbnNhY3Rpb24g
aXMgcnVubmluZyBvbiBhIGRpZmZlcmVudCBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcmVz
dWx0cyBpbiBhIGRlYWRsb2NrLgorb3BlbkRhdGFiYXNlKCkgc3VjY2VlZGVkLgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5z
YWN0aW9uLWluLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzA3YTFhNDVjOWMyMzQ5NTRiZTJlMDA5N2U5MDc5YjY1NDc3MWNjMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNh
Y3Rpb24taW4tcHJvZ3Jlc3MuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Im9wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgor
VGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5z
YWN0aW9uIGlzIHJ1bm5pbmcgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFi
YXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay48YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4KK0ZBSUxV
UkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2Fj
dGlvbi1pbi1wcm9ncmVzcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0
YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ExYTBj
MDE0ZTIzNjU5MGU3NjQ0MGE3YTQ3YTA0ZDAxNjRjYTNjNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3MuanMKQEAgLTAsMCArMSw0MSBAQAorLy8gT3BlbnMgdGhlIGRhdGFiYXNlIHVz
ZWQgaW4gdGhpcyB0ZXN0IGNhc2UKK2Z1bmN0aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQoreworICAg
IHJldHVybiBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJPcGVuRGF0YWJhc2VXaGlsZVRyYW5zYWN0
aW9uSW5Qcm9ncmVzc1Rlc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIx
LjAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3Vy
ZSB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlKCkgd2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBpbiBw
cm9ncmVzcyBvbiBhIGRpZmZlcmVudCBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgZG9lcyBu
b3QgcmVzdWx0IGluIGEgZGVhZGxvY2suIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAyMTAwMDAwKTsgLy8gMk1CICsgZXBzaWxvbgorfQorCisvLyBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MjA3CisvLyBJbiBvcmRlciB0byB0cmlnZ2Vy
IHRoaXMgYnVnLCB0aGUgdHJhbnNhY3Rpb24gbXVzdCBhY3F1aXJlIGFuIGV4Y2x1c2l2ZQorLy8g
bG9jayBvbiB0aGUgREIgZmlsZSBiZWZvcmUgdHJ5aW5nIHRvIG9idGFpbiBhIHNlY29uZCBoYW5k
bGUgdG8gdGhlIHNhbWUgREIuCisvLyBUaGUgb25seSB3YXkgdG8gZm9yY2UgU1FMaXRlIHRvIG9i
dGFpbiBhbiBleGNsdXNpdmUgbG9jayBpcyB0byBjaGFuZ2UgbW9yZQorLy8gdGhhbiBjYWNoZV9z
aXplICogcGFnZV9zaXplIGJ5dGVzIGluIHRoZSBkYXRhYmFzZS4gVGhlIGRlZmF1bHQgdmFsdWUg
Zm9yCisvLyBjYWNoZV9zaXplIGlzIDIwMDAgcGFnZXMsIGFuZCB0aGUgZGVmYXVsdCBwYWdlX3Np
emUgaXMgMTAyNCBieXRlcy4gU28gdGhlCisvLyBzaXplIG9mIHRoZSBibG9iIG11c3QgYmUgYXQg
bGVhc3QgMk1CLgorZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgdmFyIGRiMSA9IG9wZW5UZXN0
RGF0YWJhc2UoKTsKKyAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
Ly8gQ3JlYXRlIHRoZSBUZXN0IHRhYmxlIGlmIGl0IGRvZXMgbm90IGV4aXN0CisgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBCTE9CKTsi
KTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKFpFUk9C
TE9CKDIwOTcxNTIpKTsiLCBbXSwKKyAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1
bHQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJh
c2UoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nKCJvcGVuRGF0YWJhc2UoKSBzdWNj
ZWVkZWQuIik7CisgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAg
ICBmdW5jdGlvbih0eCwgZXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nKCJF
eGVjdXRpbmcgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAg
ICAgICAgICAgICAgIH0pOworCisgICAgICAgIC8vIENsZWFuIHVwIHRoZSBEQiB0byBhbGxvdyBm
b3IgcmVwZWF0ZWQgcnVucyBvZiB0aGlzIHRlc3QKKyAgICAgICAgLy8gd2l0aG91dCBuZWVkaW5n
IHRvIGluY3JlYXNlIHRoZSBkZWZhdWx0IGFsbG93ZWQgcXVvdGEgKDVNQikKKyAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiREVMRVRFIEZST00gVGVzdDsiKTsKKyAgICB9LCBmdW5jdGlvbihlcnJvcikg
eworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwor
ICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAg
IH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1i
cm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMWY2N2QyZmFjNGYyNmU2ZjJkNzI4MDA2ODgwZDJmNWZmNTMyOTA5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1u
b3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFiYXNlIGR1cmluZyBwcml2
YXRlIGJyb3dzaW5nIGZhaWwuCitTZXR1cCBzdGF0ZW1lbnQgMSBjb21wbGV0ZWQgc3VjY2Vzc2Z1
bGx5CitTZXR1cCBzdGF0ZW1lbnQgMiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5CitQcml2YXRlIGJy
b3dzaW5nIHN0YXRlbWVudCAxIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCitjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitQcml2YXRlIGJyb3dzaW5nIHN0YXRl
bWVudCAyIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCitjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDIzIG5vdCBhdXRob3JpemVkKQorUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMyBjb21w
bGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3Qg
YXV0aG9yaXplZCkKK1ByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50IDQgY29tcGxldGVkIHdpdGgg
YW4gZXJyb3IKK2NvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQp
CitQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA1IGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCitj
b3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIGFjY2VzcyB0byBQcml2YXRlVGVzdDEucmFu
ZG9tRGF0YSBpcyBwcm9oaWJpdGVkKQorVGVzdCBlbmRlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dy
aXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjliNTg4MmI0ZGUxYzU2MjA2NGM1ZTg0NzcwMTA2OTc5YTAx
ZmMxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZh
dGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRtbApAQCAtMCwwICsxLDEwMiBAQAorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHdyaXRlTWVzc2FnZVRvTG9nKG1lc3NhZ2Up
Cit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0g
bWVzc2FnZSArICJcbiI7Cit9CisKK3ZhciBzZXR1cFN0YXRlbWVudHMgPSBbCisgICAgIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIFByaXZhdGVUZXN0MSAocmFuZG9tRGF0YSkiLAorICAgICJJ
TlNFUlQgSU5UTyBQcml2YXRlVGVzdDEgVkFMVUVTICgnc29tZWRhdGEnKSIKK107CisKK3ZhciBw
cml2YXRlQnJvd3NpbmdTdGF0ZW1lbnRzID0gWworICAgICJDUkVBVEUgVEFCTEUgSUYgTk9UIEVY
SVNUUyBQcml2YXRlVGVzdDIgKHJhbmRvbURhdGEpIiwKKyAgICAiREVMRVRFIEZST00gUHJpdmF0
ZVRlc3QxIiwKKyAgICAiRFJPUCBUQUJMRSBQcml2YXRlVGVzdDEiLAorICAgICJJTlNFUlQgSU5U
TyBQcml2YXRlVGVzdDEgVkFMVUVTICgnc29tZWRhdGEnKSIsCisgICAgIlNFTEVDVCAqIEZST00g
UHJpdmF0ZVRlc3QxIgorXTsKKwordmFyIGNvbXBsZXRlZCA9IDA7Cit2YXIgdGhlVHJhbnNhY3Rp
b247CisKK2Z1bmN0aW9uIHNldHVwU3VjY2Vzc0Z1bmN0aW9uKHR4LCByZXN1bHQpCit7CisgICAg
Kytjb21wbGV0ZWQ7CisgICAgd3JpdGVNZXNzYWdlVG9Mb2coIlNldHVwIHN0YXRlbWVudCAiICsg
Y29tcGxldGVkICsgIiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Iik7CisgICAgY2hlY2tTZXR1cENv
bXBsZXRlKCk7Cit9CisKK2Z1bmN0aW9uIHNldHVwRXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7
CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3JpdGVNZXNzYWdlVG9Mb2coIlNldHVwIHN0YXRlbWVu
dCAiICsgY29tcGxldGVkICsgIiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvclxuIiArIGVycm9yLm1l
c3NhZ2UpOworICAgIGNoZWNrU2V0dXBDb21wbGV0ZSgpOworfQorCitmdW5jdGlvbiBwcml2YXRl
QnJvd3NpbmdTdWNjZXNzRnVuY3Rpb24odHgsIHJlc3VsdCkKK3sKKyAgICArK2NvbXBsZXRlZDsK
KyAgICB3cml0ZU1lc3NhZ2VUb0xvZygiUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgIiArIGNv
bXBsZXRlZCArICIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSIpOworfQorCitmdW5jdGlvbiBwcml2
YXRlQnJvd3NpbmdFcnJvckZ1bmN0aW9uKHR4LCBlcnJvcikKK3sKKyAgICArK2NvbXBsZXRlZDsK
KyAgICB3cml0ZU1lc3NhZ2VUb0xvZygiUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgIiArIGNv
bXBsZXRlZCArICIgY29tcGxldGVkIHdpdGggYW4gZXJyb3JcbiIgKyBlcnJvci5tZXNzYWdlKTsK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Z1bmN0aW9uIHJ1blNldHVwKHRyYW5zYWN0aW9uKQor
eworICAgIHRoZVRyYW5zYWN0aW9uID0gdHJhbnNhY3Rpb247CisgICAgZm9yIChpIGluIHNldHVw
U3RhdGVtZW50cykKKyAgICAgICAgdGhlVHJhbnNhY3Rpb24uZXhlY3V0ZVNxbChzZXR1cFN0YXRl
bWVudHNbaV0sIFtdLCBzZXR1cFN1Y2Nlc3NGdW5jdGlvbiwgc2V0dXBFcnJvckZ1bmN0aW9uKTsK
K30KKworZnVuY3Rpb24gY2hlY2tTZXR1cENvbXBsZXRlKCkKK3sKKyAgICBpZiAoY29tcGxldGVk
ID09IHNldHVwU3RhdGVtZW50cy5sZW5ndGgpCisgICAgICAgIHJ1blByaXZhdGVCcm93c2luZ1Rl
c3RzKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blByaXZhdGVCcm93c2luZ1Rlc3RzKCkKK3sKKyAgICBj
b21wbGV0ZWQgPSAwOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCh0cnVl
KTsKKyAgICAKKyAgICBmb3IgKGkgaW4gcHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50cykKKyAgICAg
ICAgdGhlVHJhbnNhY3Rpb24uZXhlY3V0ZVNxbChwcml2YXRlQnJvd3NpbmdTdGF0ZW1lbnRzW2ld
LCBbXSwgcHJpdmF0ZUJyb3dzaW5nU3VjY2Vzc0Z1bmN0aW9uLCBwcml2YXRlQnJvd3NpbmdFcnJv
ckZ1bmN0aW9uKTsKK30KKworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgd3JpdGVNZXNzYWdl
VG9Mb2coIlRlc3QgZW5kZWQiKTsKKyAgICAKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisK
K2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgdmFy
IGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJQcml2YXRlQnJvd3NpbmdOb1JlYWROb1dyaXRlVGVz
dCIsICIxLjAiLCAiVGVzdCBwcml2YXRlIGJyb3dzaW5nIG5vIHJlYWQvd3JpdGUgc2FmZXR5Iiwg
MSk7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24ocnVuU2V0dXAsIGVuZFRlc3QsIGVuZFRlc3Qp
OworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+CitU
aGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGF0dGVtcHRzIHRvIGNoYW5nZSB0aGUgZGF0YWJhc2Ug
ZHVyaW5nIHByaXZhdGUgYnJvd3NpbmcgZmFpbC48YnI+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDg2MGYwYzA0ZGQ3
NTZmYzhkNDc0YjM3OWJlM2E1ZmM3ZjdjZTg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTUgQEAKK1VJIERFTEVHQVRFIERBVEFCQVNFIENBTExCQUNLOiBleGNlZWRlZERhdGFiYXNlUXVv
dGFGb3JTZWN1cml0eU9yaWdpbjp7ZmlsZSwgLCAwfSBkYXRhYmFzZTpRdW90YU1hbmFnZW1lbnRE
YXRhYmFzZTIKK1RoaXMgdGVzdCBjaGVja3MgdG8gbWFrZSBzdXJlIHRoYXQgcXVvdGFzIGFyZSBl
bmZvcmNlZCBwZXItb3JpZ2luIGluc3RlYWQgb2YgcGVyLWRhdGFiYXNlLCBhcyB0aGV5IHdlcmUg
cHJpb3IgdG8gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9wcm9qZWN0cy93ZWJraXQvY2hhbmdlc2V0
LzI5OTgzLgorVGhlIHRlc3QgY2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZv
ciB0aGUgb3JpZ2luIHRvIDQwaywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50
byB0d28gZGF0YWJhc2VzLiBJZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNl
cnQgc2hvdWxkIGZhaWwsIHRoZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhl
IGV4Y2VlZGVkIHF1b3RhIGFuZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9y
aWdpbi4gSW5zZXJ0aW5nIDE3ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVk
IGFnYWluLgorQWRkaW5nIGEgdGFibGUKK0luc2VydGluZyBzb21lIGRhdGEKK0RvbmUgYWRkaW5n
IGRhdGEKK0FkZGluZyBhIHRhYmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitFeHBlY3RlZCBxdW90
YSBleGNlcHRpb24gLSB0aGVyZSB3YXMgbm90IGVub3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFj
ZSwgb3IgdGhlIHN0b3JhZ2UgcXVvdGEgd2FzIHJlYWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVk
IHRvIGFsbG93IG1vcmUgc3BhY2UKK0RvbmUgYWRkaW5nIGRhdGEKK0FkZGluZyBhIHRhYmxlCitJ
bnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBkYXRhCitUZXN0IENvbXBsZXRlCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjZlNTI1MjNiMTYzZjA1NDU1ODhhODhlYjEzMTBiZGZkOGM2NjIzYTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sCkBA
IC0wLDAgKzEsMTEzIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK3ZhciBkYXRhYmFzZTEg
PSBudWxsOwordmFyIGRhdGFiYXNlMiA9IG51bGw7Cit2YXIgZGF0YWJhc2UzID0gbnVsbDsKKwor
ZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gZmlu
aXNoVGVzdCgpCit7CisgICAgbG9nKCJUZXN0IENvbXBsZXRlIik7CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKHR4LCBlcnJvcikK
K3sKKyAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOwor
ICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckZ1bmN0aW9u
KGRiLCBlcnJvcikKK3sKKyAgICAvLyBXZSBvbmx5IGV4cGVjdCBhbiBlcnJvciBtZXNzYWdlIGZv
ciBkYXRhYmFzZTIKKyAgICBpZiAoZGIgPT0gZGF0YWJhc2UyKSB7CisgICAgICAgIGxvZygiRXhw
ZWN0ZWQgcXVvdGEgZXhjZXB0aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICBjaGVj
a0NvbXBsZXRpb24oZGIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGxvZygiVW5leHBlY3RlZCBl
eGNlcHRpb24gLSAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICB9Cit9CisKK2Z1bmN0aW9uIGNoZWNrQ29tcGxldGlvbihkYikKK3sKKyAgICBsb2coIkRvbmUg
YWRkaW5nIGRhdGEiKTsKKworICAgIGlmIChkYXRhYmFzZTMpIHsKKyAgICAgICAgZmluaXNoVGVz
dCgpOworICAgIH0gZWxzZSBpZiAoZGF0YWJhc2UyKSB7CisgICAgICAgIGRhdGFiYXNlMyA9IG9w
ZW5EYXRhYmFzZSgiUXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UzIiwgIjEuMCIsICJUZXN0IGZvciBx
dW90YSBtYW5hZ2VtZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKKyAgICAgICAgdGVzdERhdGFi
YXNlKGRhdGFiYXNlMyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgZGF0YWJhc2UyID0gb3BlbkRh
dGFiYXNlKCJRdW90YU1hbmFnZW1lbnREYXRhYmFzZTIiLCAiMS4wIiwgIlRlc3QgZm9yIHF1b3Rh
IG1hbmFnZW1lbnQgPHJkYXI6Ly81NjI4NDY4PiIsIDEpOworICAgICAgICB0ZXN0RGF0YWJhc2Uo
ZGF0YWJhc2UyKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGFkZERhdGEoZGIpCit7CisgICAgZGIu
dHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgbG9nKCJJbnNlcnRpbmcgc29tZSBk
YXRhIik7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0IChyYW5k
b21EYXRhKSBWQUxVRVMgKFpFUk9CTE9CKDE3NDA4KSkiLCBbXSwKKyAgICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIHN0YXRlbWVudEVycm9yRnVuY3Rpb24pOwor
ICAgICAgICBpZiAoZGIgPT0gZGF0YWJhc2UyKSB7CisgICAgICAgICAgICAvLyBUcnkgdG8gcnVu
IHRoaXMgc3RhdGVtZW50IG9uICdkYXRhYmFzZTInIG9ubHkuCisgICAgICAgICAgICAvLyBJdCBz
aG91bGQgbm90IGJlIHJ1biwgYmVjYXVzZSB0aGUgcHJldmlvdXMgc3RhdGVtZW50IHNob3VsZCd2
ZQorICAgICAgICAgICAgLy8gcmVzdWx0ZWQgaW4gYSBmYWlsdXJlIHRoYXQgbWFkZSBzcWxpdGUg
cm9sbCBiYWNrIHRoZSBlbnRpcmUgdHJhbnNhY3Rpb24uCisgICAgICAgICAgICB0eC5leGVjdXRl
U3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFMVUVTIChaRVJPQkxPQigx
MCkpIiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQp
IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygiVGhpcyBzdGF0ZW1lbnQgc2hv
dWxkIG5vdCBoYXZlIGJlZW4gcnVuLiIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmluaXNoVGVzdCgpOworICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBzdGF0ZW1lbnRFcnJv
ckZ1bmN0aW9uKTsKKyAgICAgICAgfQorICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAg
IHRyYW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJyb3IpOworICAgIH0sIGZ1bmN0aW9uKCkg
eworICAgICAgICBjaGVja0NvbXBsZXRpb24oZGIpOworICAgIH0pOworfQorCitmdW5jdGlvbiB0
ZXN0RGF0YWJhc2UoZGIpCit7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAg
ICAgICAgbG9nKCJBZGRpbmcgYSB0YWJsZSIpOworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVB
VEUgVEFCTEUgRGF0YVRlc3QgKHJhbmRvbURhdGEpIiwgW10sCisgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsKKyAg
ICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICB0cmFuc2FjdGlvbkVycm9yRnVuY3Rpb24o
ZGIsIGVycm9yKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgYWRkRGF0YShkYik7Cisg
ICAgfSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxE
YXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERhdGFiYXNlQ2Fs
bGJhY2tzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldERhdGFiYXNlUXVvdGEo
NDA5NjApOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICBk
YXRhYmFzZTEgPSBvcGVuRGF0YWJhc2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMSIsICIxLjAi
LCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7CisgICAg
dGVzdERhdGFiYXNlKGRhdGFiYXNlMSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+CitUaGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0
IHF1b3RhcyBhcmUgZW5mb3JjZWQgcGVyLW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwg
YXMgdGhleSB3ZXJlIHByaW9yIHRvIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Vi
a2l0L2NoYW5nZXNldC8yOTk4My48YnI+CitUaGUgdGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNlcywg
c2V0cyB0aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4gdG8gNDBrLCB0aGVuIHRyaWVzIHRvIGluc2Vy
dCAxN2sgb2YgZGF0YSBpbnRvIHR3byBkYXRhYmFzZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFubmVk
LCB0aGUgc2Vjb25kIGluc2VydCBzaG91bGQgZmFpbCwgdGhlIFVJIERlbGVnYXRlIHNob3VsZCBi
ZSBpbmZvcm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVvdGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0aGUg
cXVvdGEgZm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRpbmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJkIHRp
bWUgc2hvdWxkIHN1Y2NlZWQgYWdhaW4uCis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9i
b2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9y
ZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25z
LWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYzg5NzljM2NiNTA3
ZDkyMDAwNTc3ZjhmZmNjNzcwNDdmMjE1N2Q5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRv
Z2V0aGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUaGlzIHRlc3QgdGVzdHMgdGhh
dCByZWFkIGFuZCB3cml0ZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhl
IHNhbWUgZGF0YWJhc2UgZG9uJ3QgcnVuIHRvZ2V0aGVyLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1
bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJh
bnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlv
biBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nl
c3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUt
dHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMWRhMzU2NzhjMWMwMTQ4MmE2NDUxNDUyZWNhNDUwMGY4ZmM5ODU2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3Jp
dGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwKQEAgLTAsMCArMSwxMiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9u
dC1ydW4tdG9nZXRoZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1
cEFuZFJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJh
bnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvbid0
IHJ1biB0b2dldGhlci48YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4KK0ZBSUxVUkU6IHRlc3QgZGlk
bid0IHJ1bi4KKzwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRv
Z2V0aGVyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJh
bnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViODE3YmFkMzMwNzM3
MWQ3YWQxOTliNDBiZjExOWI1YjA1NjM3ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9n
ZXRoZXIuanMKQEAgLTAsMCArMSw4MSBAQAorZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkK
K3sKKyAgICByZXR1cm4gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiUmVhZEFuZFdyaXRlVHJhbnNh
Y3Rpb25zRG9udFJ1blRvZ2V0aGVyVGVzdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIjEuMCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRlc3QgdG8g
bWFrZSBzdXJlIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBE
QiBoYW5kbGVzIHRvIHRoZSBzYW1lIERCIGRvbid0IHJ1biBhdCB0aGUgc2FtZSB0aW1lLiIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3NjgpOworfQorCit2YXIgcmVhZFRy
YW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwordmFyIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVz
cyA9IDA7Cit2YXIgdG90YWxUcmFuc2FjdGlvbnMgPSAwOwordmFyIGZpbmlzaGVkVHJhbnNhY3Rp
b25zID0gMDsKKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZGIsIHJlYWRPbmx5KQoreworICAg
IHZhciB0cmFuc2FjdGlvbkZ1bmN0aW9uID0gKHJlYWRPbmx5ID8gZGIucmVhZFRyYW5zYWN0aW9u
IDogZGIudHJhbnNhY3Rpb24pOworICAgIHRyYW5zYWN0aW9uRnVuY3Rpb24uY2FsbChkYiwgZnVu
Y3Rpb24odHgpIHsKKyAgICAgICAgICAgIGlmIChyZWFkT25seSkgeworICAgICAgICAgICAgICAg
IGlmICh3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgIT0gMCkgeworICAgICAgICAgICAgICAg
ICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb24gc3RhcnRpbmcgd2hpbGUgd3JpdGUgdHJhbnNhY3Rp
b24gaW4gcHJvZ3Jlc3MuIik7CisgICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJv
Z3Jlc3MrKzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKChyZWFk
VHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAwKSB8fCAod3JpdGVUcmFuc2FjdGlvbnNJblByb2dy
ZXNzICE9IDApKSB7CisgICAgICAgICAgICAgICAgICAgIGxvZygiV3JpdGUgdHJhbnNhY3Rpb24g
c3RhcnRpbmcgd2hpbGUgYW5vdGhlciB0cmFuc2FjdGlvbiBpbiBwcm9ncmVzcy4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MrKzsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAqIEZST00gVGVzdDsiKTsKKyAgICAg
ICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgIGxvZygocmVhZE9ubHkgPyAiUmVh
ZCIgOiAiV3JpdGUiKSArICIgdHJhbnNhY3Rpb24gZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7
CisgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgIGZpbmlzaGVkVHJhbnNhY3Rpb25zKys7CisgICAgICAgICAgICAgaWYgKHJl
YWRPbmx5KQorICAgICAgICAgICAgICAgICByZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwor
ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgd3JpdGVUcmFuc2FjdGlvbnNJblBy
b2dyZXNzLS07CisgICAgICAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLiIpOwor
ICAgICAgICAgICAgIGlmICgoZmluaXNoZWRUcmFuc2FjdGlvbnMgPT0gdG90YWxUcmFuc2FjdGlv
bnMpICYmIChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKSAmJiAod3JpdGVUcmFuc2Fj
dGlvbnNJblByb2dyZXNzID09IDApKQorICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7
CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5SZWFkQW5kV3JpdGVUcmFuc2FjdGlvbnMo
ZGIxLCBkYjIsIGRiMykKK3sKKyAgICB0b3RhbFRyYW5zYWN0aW9ucyA9IDEwOworICAgIGZpbmlz
aGVkVHJhbnNhY3Rpb25zID0gMDsKKyAgICBydW5UcmFuc2FjdGlvbihkYjEsIHRydWUpOworICAg
IHJ1blRyYW5zYWN0aW9uKGRiMiwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCBmYWxz
ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKKyAgICBydW5UcmFuc2FjdGlvbihk
YjIsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMywgdHJ1ZSk7CisgICAgcnVuVHJhbnNh
Y3Rpb24oZGIxLCBmYWxzZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIyLCBmYWxzZSk7CisgICAg
cnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKKyAgICBydW5UcmFuc2FjdGlvbihkYjMsIHRydWUp
OworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHZhciBkYjEgPSBvcGVuVGVzdERhdGFi
YXNlKCk7CisgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAgICB2YXIgZGIzID0g
b3BlblRlc3REYXRhYmFzZSgpOworICAgIGRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewor
ICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVz
dCAoRm9vIGludCk7Iik7CisgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAg
ICBsb2coIkNhbm5vdCBjcmVhdGUgdGhlIFRlc3QgdGFibGU6ICIgKyBlcnJvci5tZXNzYWdlKTsK
KyAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgfSwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICBydW5SZWFkQW5kV3JpdGVUcmFuc2FjdGlvbnMoZGIxLCBkYjIsIGRiMyk7Cisg
ICAgICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVh
ZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50
bHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1OGQyZGZlNmFiYjFhMzE0NTdlYjUxNzllZGY0
Y2YwMDA4MWY2ODUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0d28gcmVhZC1vbmx5IHRyYW5zYWN0
aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBydW4gY29uY3Vy
cmVudGx5LgorUmVhZCB0cmFuc2FjdGlvbnMgcnVubmluZyBjb25jdXJyZW50bHkuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5p
bmctY29uY3VycmVudGx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZWFkLXRy
YW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyZDg2MmMx
ZTZjZTgyNGY0MDg4NTg1ODRiOTU4NzE5Yjk1Y2MwYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJl
bnRseS5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCitm
dW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCArPSBt
ZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiB0ZXJtaW5hdGVUZXN0KCkKK3sKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQorewor
ICAgIHJldHVybiBvcGVuRGF0YWJhc2UoIlJlYWRUcmFuc2FjdGlvbnNSdW5uaW5nQ29uY3VycmVu
dGx5VGVzdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IG11bHRpcGxlIHJlYWQgdHJhbnNhY3Rp
b25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIHRvIHRoZSBzYW1lIERCIHJ1biBjb25jdXJyZW50
bHkuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKK30KKwordmFyIHJlYWRUcmFu
c2FjdGlvbnNJblByb2dyZXNzID0gMDsKKworZnVuY3Rpb24gcnVuUmVhZFRyYW5zYWN0aW9uKGRi
KQoreworICAgIGRiLnJlYWRUcmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICAgICAg
cmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MrKzsKKyAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3Ip
IHsKKyAgICAgICAgICAgIGxvZygiUmVhZCB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5t
ZXNzYWdlKTsKKyAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgfSwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICBpZiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMikK
KyAgICAgICAgICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVu
dGx5LiIpOworICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKKyAgICAg
ICAgICAgIGlmIChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKQorICAgICAgICAgICAg
ICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3Qo
KSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAgICB2YXIgZGIx
ID0gb3BlblRlc3REYXRhYmFzZSgpOworICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFz
ZSgpOworICAgICAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAg
ICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28g
aW50KTsiKTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICAg
ICAgbG9nKCJDYW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7
CisgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICAgICAgfSwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgcnVuUmVhZFRyYW5zYWN0aW9uKGRiMSk7CisgICAgICAg
ICAgICAgICAgcnVuUmVhZFRyYW5zYWN0aW9uKGRiMik7CisgICAgICAgICAgICB9KTsKKyAgICAg
fSBjYXRjaChlcnIpIHsgbG9nKGVycik7IH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJydW5UZXN0KCk7Ij4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9ubHkg
dHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJ1
biBjb25jdXJyZW50bHkuPGJyPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDFlYjQxMDJlNTE4Y2Q5OTY1ZTNjYTBlNDAxMmIyYTUxZDUxZmU3OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1j
b21tb24uanMKQEAgLTAsMCArMSwyOSBAQAordmFyIERCX1RFU1RfU1VGRklYID0gIl9kb20iOwor
CitmdW5jdGlvbiBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KG5hbWUsIHZlcnNpb24sIGRlc2NyaXB0
aW9uLCBzaXplLCBjYWxsYmFjaykKK3sKKyAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDQpIHsK
KyAgICAgICAgcmV0dXJuIG9wZW5EYXRhYmFzZShuYW1lICsgREJfVEVTVF9TVUZGSVgsIHZlcnNp
b24sIGRlc2NyaXB0aW9uLCBzaXplLCBjYWxsYmFjayk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
cmV0dXJuIG9wZW5EYXRhYmFzZShuYW1lICsgREJfVEVTVF9TVUZGSVgsIHZlcnNpb24sIGRlc2Ny
aXB0aW9uLCBzaXplKTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2Ug
KyAiXG4iOworfQorCitmdW5jdGlvbiBzZXRMb2NhdGlvbkhhc2goaGFzaCkgeworICAgIGxvY2F0
aW9uLmhhc2ggPSBoYXNoOworfQorCitmdW5jdGlvbiBzZXR1cEFuZFJ1blRlc3QoKQoreworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CisgICAgfQorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
IikuaW5uZXJUZXh0ID0gIiI7CisgICAgcnVuVGVzdCgpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVzb3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2Fk
LTIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1s
b2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmUwZjA5Y2VhNzFhNWIzZDU2MGI2
ZDI4NzM0N2UxZDAzZjhiYTgwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwKQEAg
LTAsMCArMSw1NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVz
c2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAg
ICBsb2coIlRlc3QgcGFydCAyIENvbXBsZXRlIik7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
fQorCitmdW5jdGlvbiBlcnJvckZ1bmN0aW9uKGVycm9yKQoreworICAgIGxvZygiVGVzdCBmYWls
ZWQgLSAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgZmluaXNoVGVzdCgpOworfQorCitmdW5jdGlv
biBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAg
ICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOworICAgICAgICB0eC5leGVjdXRlU3FsKCJJ
TlNFUlQgSU5UTyBEYXRhVGVzdCAodGVzdERhdGEpIFZBTFVFUyAoPykiLCBbIkEiXSwKKyAgICAg
ICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVy
cm9yRnVuY3Rpb24oZXJyb3IpOyB9KTsKKyAgICB9LCBmdW5jdGlvbigpIHsgfSwgZnVuY3Rpb24o
KSB7IGZpbmlzaFRlc3QoKTsgfSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGRhdGFiYXNlID0gb3Bl
bkRhdGFiYXNlKCJEYXRhYmFzZUxvY2tUZXN0IiwgIjEuMCIsICJUZXN0IGZvciBkYXRhYmFzZSBs
b2NraW5nIiwgNTI0Mjg4MCk7CisgICAgICAgIGFkZERhdGEoZGF0YWJhc2UpOworICAgIH0gY2F0
Y2goZSkgeworICAgICAgICBsb2coIkVycm9yIC0gY291bGQgbm90IG9wZW4gZGF0YWJhc2UiKTsK
KyAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0KK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisK
Kzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8
L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOTlhZjNjNzk2MWY0Mjdh
ODdhNmVmN2ZhYWYwZDE0YjI4OWJjNzIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvcmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sCkBAIC0wLDAgKzEsNTEg
QEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cit2YXIgZGI7CisK
K3RyeSB7CisgICAgaWYgKHdpbmRvdy5vcGVuRGF0YWJhc2UpIHsKKyAgICAgICAgZGIgPSBvcGVu
RGF0YWJhc2UoIlN0cmVzc1Rlc3QyIiwgIjEuMCIsICJEYXRhYmFzZSBzdHJlc3MgdGVzdCIsIDIw
MDAwMCk7CisgICAgICAgIGlmICghZGIpCisgICAgICAgICAgICBhbGVydCgiRmFpbGVkIHRvIG9w
ZW4gdGhlIGRhdGFiYXNlIG9uIGRpc2suICBUaGlzIGlzIHByb2JhYmx5IGJlY2F1c2UgdGhlIHZl
cnNpb24gd2FzIGJhZCBvciB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGxlZnQgaW4gdGhpcyBk
b21haW4ncyBxdW90YSIpOworICAgIH0gZWxzZQorICAgICAgICBhbGVydCgiQ291bGRuJ3Qgb3Bl
biB0aGUgZGF0YWJhc2UuICBQbGVhc2UgdHJ5IHdpdGggYSBXZWJLaXQgbmlnaHRseSB3aXRoIHRo
aXMgZmVhdHVyZSBlbmFibGVkIik7Cit9IGNhdGNoKGVycikgeyB9CisKK2Z1bmN0aW9uIGxvYWRl
ZCgpCit7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiU0VMRUNUIENPVU5UKCopIEZST00gV2Via2l0U3RpY2t5Tm90ZXMiLCBbXSwgZnVu
Y3Rpb24ocmVzdWx0KSB7CisgICAgICAgICAgICBsb2FkTm90ZXMoKTsKKyAgICAgICAgfSwgZnVu
Y3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFC
TEUgV2ViS2l0U3RpY2t5Tm90ZXMgKGlkIFJFQUwgVU5JUVVFLCBub3RlIFRFWFQpIiwgW10sIGZ1
bmN0aW9uKHJlc3VsdCkgeyAKKyAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQg
SU5UTyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywgPykiLCBbMSwgJ1Rl
eHQnXSwgZnVuY3Rpb24ocmVzdWx0KSB7IAorICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRl
U3FsKCJJTlNFUlQgSU5UTyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywg
PykiLCBbMiwgJ01vcmUgVGV4dCddLCBmdW5jdGlvbihyZXN1bHQpIHsgCisgICAgICAgICAgICAg
ICAgICAgICAgICBsb2FkTm90ZXMoKTsgCisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOworfQor
CitmdW5jdGlvbiBsb2FkTm90ZXMoKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBpZCwgbm90ZSBGUk9NIFdlYktpdFN0
aWNreU5vdGVzIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKKyAgICAgICAgICAgIGxvYWRO
b3RlcygpOworICAgICAgICB9LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsKKyAgICAgICAgICAgIGFs
ZXJ0KCdGYWlsZWQgdG8gcmV0cmlldmUgbm90ZXMgZnJvbSBkYXRhYmFzZSAtICcgKyBlcnJvci5t
ZXNzYWdlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9CisK
K2FkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQsIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIHdpdGhvdXQgY3Jhc2hlcyBh
bmQgYXNzZXJ0aW9uIGZhaWx1cmVzIGZvciBhIHdoaWxlLjxwPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2MGNhZjUyM2I4NzI4ZTBjNTY0ZDZkYTU5YWRjNmQyODZm
ZTUyYjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwt
ZGF0YS10eXBlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitQQVNTOiBwcm9wZXJ0eSAn
dGltZXN0YW1wJyBvaywgdHlwZSB3YXMgbnVtYmVyCitQQVNTOiBwcm9wZXJ0eSAnaWQnIG9rLCB0
eXBlIHdhcyBudW1iZXIKK1BBU1M6IHByb3BlcnR5ICdyZWFsJyBvaywgdHlwZSB3YXMgbnVtYmVy
CitQQVNTOiBwcm9wZXJ0eSAndGV4dCcgb2ssIHR5cGUgd2FzIHN0cmluZworUEFTUzogcHJvcGVy
dHkgJ2Jsb2InIG9rLCB0eXBlIHdhcyBzdHJpbmcKK1BBU1M6IGRhdGFiYXNlIGNsZWFuIHVwIG9r
LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZGF0YS10eXBl
cy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jZDFjOThmODQ0YzA3M2IzOWViM2E2ZDU0NWZhNDAwMzM0NGRhMWI0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMu
aHRtbApAQCAtMCwwICsxLDEwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0ic3FsLWRhdGEtdHlwZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj48L3ByZT4KKzwv
Ym9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3FsLWRhdGEtdHlwZXMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZGF0YS10
eXBlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNmZjZDAxM2I2NjdmYmI1MGUwMGIxNDA4MDcxOWJkM2I0MTcx
ZGQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRh
dGEtdHlwZXMuanMKQEAgLTAsMCArMSw4NyBAQAorLy9kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgdGhlIGphdmFzY3JpcHQgdmFsdWVzIHJldHVybmVkIGJ5IGRhdGFiYXNlIHF1
ZXJpZXMgYXJlIG9mIHNhbWUgdHlwZSBhcyB0aGUgdmFsdWVzIHB1dCBpbnRvIHRoZSBkYXRhYmFz
ZS4iKTsKKworZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxu
IjsKK30KKworZnVuY3Rpb24gbm90aWZ5RG9uZShzdHIpIHsKKyAgICB3cml0ZU1lc3NhZ2VUb0xv
ZyhzdHIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwordmFyIHRlc3RWYWx1ZXMgPSB7
CisgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgiV2VkIEZlYiAwNiAyMDA4IDEyOjE2OjUyIEdNVCsw
MjAwIChFRVQpIikudmFsdWVPZigpLAorICAgIGlkOiAxMDAxLAorICAgIHJlYWw6IDEwMS40NDQs
CisgICAgdGV4dDogIldlYktpdCBkYiBURVhUIiwKKyAgICBibG9iOiAic3VwZXJjYWxpZnJhZ2ls
aXN0aWMiCit9OworCitmdW5jdGlvbiBzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUocHJvcE5hbWUs
IHRlc3RWYWx1ZSwgcmVzdWx0KSB7CisgICAgaWYgKHRlc3RWYWx1ZSA9PSByZXN1bHQgJiYgdHlw
ZW9mIHRlc3RWYWx1ZSA9PSB0eXBlb2YgcmVzdWx0KSB7CisgICAgICAgIHdyaXRlTWVzc2FnZVRv
TG9nKCJQQVNTOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgb2ssIHR5cGUgd2FzICIgKyB0
eXBlb2YgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHdyaXRlTWVz
c2FnZVRvTG9nKCJGQUlMOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgZmFpbGVkLiIKKyAg
ICAgICAgKyAiIGV4cGVjdGVkOiAiICsgdHlwZW9mIHRlc3RWYWx1ZSArICI6JyIgKyB0ZXN0VmFs
dWUgKyAiJyAiCisgICAgICAgICsgIiBnb3Q6ICIgKyB0eXBlb2YgcmVzdWx0ICsgIjonIiArIHJl
c3VsdCArIiciKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Z1bmN0aW9uIHRlc3REQlZhbHVl
cyh0eCwgcmVzdWx0KSB7CisgICAgdmFyIHJzID0gcmVzdWx0LnJvd3MuaXRlbSgwKTsKKyAgICAv
LyBBdm9pZCBmb3IgLi4gaW4gYmVjYXVzZSAodGhlcmV0aWNhbGx5KSB0aGUgb3JkZXIgY2FuIGNo
YW5nZQorICAgIGkgPSAidGltZXN0YW1wIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRl
c3RWYWx1ZXNbaV0sIHJzW2ldKTsKKyAgICBpID0gImlkIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZh
bHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKKyAgICBpID0gInJlYWwiOyBzaG91bGRCZVNh
bWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOworICAgIGkgPSAidGV4dCI7
IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7CisgICAg
aSA9ICJibG9iIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJz
W2ldKTsKKyAgICAKKyAgICB0eC5leGVjdXRlU3FsKCJEUk9QIFRBQkxFIERhdGFUeXBlVGVzdFRh
YmxlIiwgW10sCisgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKKyAgICAgICAgICAgIG5v
dGlmeURvbmUoIlBBU1M6IGRhdGFiYXNlIGNsZWFuIHVwIG9rLiIpOworICAgICAgICB9LAorICAg
ICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBub3RpZnlEb25lKCJGQUlM
OiBEYXRhYmFzZSBjbGVhbiB1cCBmYWlsZWQuIik7CisgICAgICAgIH0pOworfQorCitmdW5jdGlv
biBmZXRjaERCVmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7CisgICAgdHguZXhlY3V0ZVNxbCgiU0VM
RUNUICogRlJPTSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtdLAorICAgICAgICB0ZXN0REJWYWx1ZXMs
CisgICAgICAgIGZ1bmN0aW9uKHR4LGVycm9yKSB7CisgICAgICAgICAgICBub3RpZnlEb25lKCJG
QUlMOiBFcnJvciBmZXRjaGluZyB2YWx1ZXMgZnJvbSB0aGUgZGIuIikKKyAgICAgICAgfSk7Cit9
CisKK2Z1bmN0aW9uIGluc2VydFRlc3RWYWx1ZXNTdG10KHR4LCByZXN1bHQpIHsKKyAgICB0eC5l
eGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQsIHJlYWwsIHRpbWVz
dGFtcCwgdGV4dCwgYmxvYikgVkFMVUVTICg/LD8sPyw/LD8pIiwKKyAgICAgICAgW3Rlc3RWYWx1
ZXMuaWQsIHRlc3RWYWx1ZXMucmVhbCwgdGVzdFZhbHVlcy50aW1lc3RhbXAsIHRlc3RWYWx1ZXMu
dGV4dCwgdGVzdFZhbHVlcy5ibG9iXSwKKyAgICAgICAgZmV0Y2hEQlZhbHVlc1N0bXQsCisgICAg
ICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDog
RXJyb3IgaW5zZXJ0aW5nIHZhbHVlcyB0byB0aGUgZGIuIik7CisgICAgICAgIH0pOworfQorCitm
dW5jdGlvbiBjcmVhdGVUZXN0REJTdG10KHR4KQoreworICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUeXBlVGVzdFRhYmxlIChpZCBJTlRFR0VSIFVOSVFV
RSwgcmVhbCBSRUFMLCB0aW1lc3RhbXAgSU5URUdFUiwgdGV4dCBURVhULCBibG9iIEJMT0IpIiwg
W10sCisgICAgICAgIGluc2VydFRlc3RWYWx1ZXNTdG10LAorICAgICAgICBmdW5jdGlvbih0eCwg
ZXJyb3IpIHsKKyAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGNyZWF0aW5nIHRo
ZSBkYi4iKTsKKyAgICAgICAgfSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICB9CisgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhVHlwZVRlc3Qi
LCAiMS4wIiwgIkRhdGFiYXNlIGZvciBzcWwgZGF0YSB0eXBlIHRlc3QiLCAxKTsKKyAgICBpZiAo
ZGIpCisgICAgICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0ZVRlc3REQlN0bXQpOworICAgIGVsc2UK
KyAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3Igb3BlbmluZyB0aGUgZGIiKTsKK30KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxOTc3NmE1ZmY3MWNhYjU3MjYxYTdhYTQ0ZjMwYTk4MTU3
YjRjMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwt
ZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0NPTlNPTEUgTUVTU0FH
RTogRXhjZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4KK0NPTlNPTEUgTUVT
U0FHRTogQ2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlzIG9iamVjdC4KK1RoaXMgdGVzdCB0
ZXN0cyB0aGUgZXJyb3IgY29kZXMgcmVwb3J0ZWQgaW4gZXhjZXB0aW9uYWwgc2l0dWF0aW9ucy4K
K1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhw
ZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQQVNTOiBleHBlY3RlZCBhbmQg
Z290IGVycm9yIGNvZGUgU1lOVEFYX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBj
b2RlIFNZTlRBWF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBVTktOT1dO
X0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFFVT1RBX0VSUgorUEFTUzog
ZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFZFUlNJT05fRVJSCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM3MGM2
Y2FmZTg4OWM3ZThiYTRlZjA4ZjU5Mzg3ZTBkM2UxNWIxYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5odG1sCkBAIC0wLDAgKzEs
MTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNv
bW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic3FsLWVycm9yLWNvZGVzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KK1RoaXMg
dGVzdCB0ZXN0cyB0aGUgZXJyb3IgY29kZXMgcmVwb3J0ZWQgaW4gZXhjZXB0aW9uYWwgc2l0dWF0
aW9ucy48YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4KK0ZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4K
KzwvcHJlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3FsLWVycm9yLWNvZGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkMmM5N2M4MWZhODViYzM2ZDQ2ZGY4NWZi
N2JkMTI2YTNhNTg2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9zcWwtZXJyb3ItY29kZXMuanMKQEAgLTAsMCArMSwxMTQgQEAKK2Z1bmN0aW9uIGZpbmlz
aFRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwordmFyIFRPVEFMX1RFU1RT
ID0gNzsKK3ZhciB0ZXN0c1J1biA9IDA7CitmdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2soZXJyb3IsIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKK3sKKyAgICBpZiAoZXJyb3IuY29kZSA9
PSBlcnJvcltleHBlY3RlZEVycm9yQ29kZU5hbWVdKSB7CisgICAgICAgIGxvZygiUEFTUzogZXhw
ZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlICIgKyBleHBlY3RlZEVycm9yQ29kZU5hbWUpOworICAg
ICAgICBpZiAoKyt0ZXN0c1J1biA9PSBUT1RBTF9URVNUUykKKyAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKKyAgICB9IGVsc2UgeworICAgICAgICBsb2coIkZBSUw6IGV4cGVjdGVkIGVycm9yIGNv
ZGUgIiArIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSArICIgKCIgKyBlcnJvcltleHBlY3RlZEVycm9y
Q29kZU5hbWVdICsgIik7IGdvdCAiICsgZXJyb3IuY29kZSk7CisgICAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrKCkKK3sK
KyAgICBsb2coIkZBSUw6IGEgdHJhbnNhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHku
Iik7CisgICAgZmluaXNoVGVzdCgpOworfQorCitmdW5jdGlvbiB0ZXN0VHJhbnNhY3Rpb24oZGIs
IHRyYW5zYWN0aW9uQ2FsbGJhY2ssIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKK3sKKyAgICBkYi50
cmFuc2FjdGlvbih0cmFuc2FjdGlvbkNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uRXJyb3JDYWxs
YmFjayhlcnJvciwgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKKyAgICAgICAgICAgICAgICAgICB9
LCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk7Cit9CisKK2Z1bmN0aW9uIHRlc3RUcmFuc2Fj
dGlvblRocm93c0V4Y2VwdGlvbihkYikKK3sKKyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0
aW9uKHR4KSB7IHRocm93ICJFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0aW9uIGNhbGxiYWNr
LiI7IH0sICJVTktOT1dOX0VSUiIpOworfQorCitmdW5jdGlvbiB0ZXN0VHJhbnNhY3Rpb25GYWls
dXJlQmVjYXVzZU9mU3RhdGVtZW50RmFpbHVyZShkYikKK3sKKyAgICB0ZXN0VHJhbnNhY3Rpb24o
ZGIsCisgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVNRU5UIiwgW10sIG51bGwsIGZ1bmN0aW9u
KHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7CisgICAgICAgICAgICAgICAgICAgIH0sICJV
TktOT1dOX0VSUiIpOworfQorCitmdW5jdGlvbiB0ZXN0SW52YWxpZFN0YXRlbWVudChkYikKK3sK
KyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1dGVTcWwoIkJB
RCBTVEFURU1FTlQiKTsgfSwgIlNZTlRBWF9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdEluY29y
cmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRi
LAorICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQmFkQmluZE51
bWJlclRlc3QgKEZvbyBJTlQsIEJhciBJTlQpIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kTnVtYmVyVGVzdCBWQUxVRVMgKD8sID8p
IiwgWzFdKTsKKyAgICAgICAgICAgICAgICAgICAgfSwgIlNZTlRBWF9FUlIiKTsKK30KKworZnVu
Y3Rpb24gdGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYikKK3sKKyAgICB2YXIgYmFkU3Ry
aW5nID0geyB9OworICAgIGJhZFN0cmluZy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyB0aHJvdyAi
Q2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlzIG9iamVjdC4iIH07CisKKyAgICB0ZXN0VHJh
bnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmRUeXBlVGVzdCAoRm9vIFRFWFQpIik7CisgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEJhZEJpbmRUeXBlVGVzdCBWQUxVRVMgKD8p
IiwgW2JhZFN0cmluZ10pOworICAgIH0sICJVTktOT1dOX0VSUiIpOworfQorCitmdW5jdGlvbiB0
ZXN0UXVvdGFFeGNlZWRlZChkYikKK3sKKyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCisgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0eC5l
eGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBRdW90YVRlc3QgKEZvbyBCTE9C
KSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8g
UXVvdGFUZXN0IFZBTFVFUyAoWkVST0JMT0IoMTAgKiAxMDI0ICogMTAyNCkpIik7CisgICAgICAg
ICAgICAgICAgICAgIH0sICJRVU9UQV9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFZlcnNpb25N
aXNtYXRjaChkYikKK3sKKyAgICAvLyBVc2UgYW5vdGhlciBEQiBoYW5kbGUgdG8gY2hhbmdlIHRo
ZSB2ZXJzaW9uLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlIHN1cmUgdGhhdCB0aGUgREIgdmVy
c2lvbiBpcyBub3QKKyAgICAvLyBjaGFuZ2VkIGJlZm9yZSB0aGUgdHJhbnNhY3Rpb25zIGluIHRo
ZSBvdGhlciB0ZXN0cyBoYXZlIHJ1biwgd2UgbmVlZCB0byBkbyBpdCBpbiBhIHRyYW5zYWN0aW9u
IG9uICdkYicuCisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdmFy
IGRiMiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlNRTEVycm9yQ29kZXNUZXN0IiwgIjEuMCIs
ICJUZXN0cyB0aGUgZXJyb3IgY29kZXMuIiwgMSk7CisgICAgICAgIGRiMi5jaGFuZ2VWZXJzaW9u
KCIxLjAiLCAiMi4wIiwgZnVuY3Rpb24odHgpIHsgfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygi
RkFJTDogY291bGQgbm90IGNoYW5nZSB0aGUgREIgdmVyc2lvbi4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwgZnVuY3Rpb24oKSB7IH0pOworICAgICAgICB9KTsKKworICAgIHRlc3RUcmFuc2FjdGlvbihk
YiwKKyAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIlRISVMgU1RBVEVNRU5UIFNIT1VMRCBORVZFUiBHRVQgRVhF
Q1VURUQiKTsKKyAgICAgICAgICAgICAgICAgICAgfSwgIlZFUlNJT05fRVJSIik7Cit9CisKK2Z1
bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisKKyAg
ICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVzVGVzdCIsICIx
LjAiLCAiVGVzdHMgdGhlIGVycm9yIGNvZGVzLiIsIDEpOworICAgIHRlc3RUcmFuc2FjdGlvblRo
cm93c0V4Y2VwdGlvbihkYik7CisgICAgdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1c2VPZlN0
YXRlbWVudEZhaWx1cmUoZGIpOworICAgIHRlc3RJbnZhbGlkU3RhdGVtZW50KGRiKTsKKyAgICB0
ZXN0SW5jb3JyZWN0TnVtYmVyT2ZCaW5kUGFyYW1ldGVycyhkYik7CisgICAgdGVzdEJpbmRQYXJh
bWV0ZXJPZldyb25nVHlwZShkYik7CisgICAgdGVzdFF1b3RhRXhjZWVkZWQoZGIpOworICAgIHRl
c3RWZXJzaW9uTWlzbWF0Y2goZGIpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzQwM2Q5ZjBjOTY3ODcxNTkwYzE1MTQwNzBlNjA4MDY3ZTUwMTIxMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorQ09OU09MRSBNRVNTQUdF
OiBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCitUaGlzIHRlc3QgY29uZmly
bXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBv
bmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwg
cmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCitQQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2Fj
dGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
ZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sg
d2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQu
CitUZXN0IENvbXBsZXRlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIzNzY4OTYzOGJkMmI4YmU1Yjg2YmIz
M2UwNTZmZjA4NTU3YWQ2ODQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorQUxFUlQ6IHVuZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3Vt
ZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQu
CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrIGlzIGNh
bGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTk2ZTQyYjAyOGVhYjJhYTJiMmRkM2JmZjYxNmY3
NDE5NjA0NTEwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCkBAIC0wLDAgKzEs
NTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KK1RoaXMgdGVzdCB0ZXN0cyB0
aGF0IHRoZSBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3
b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBzdGF0ZW1lbnRF
cnJvckNhbGxiYWNrc0ludm9rZWQgPSAwOworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgaWYgKCgr
K3N0YXRlbWVudEVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSh0eCwgZXJyb3IpCit7Cisg
ICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgp
OworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMih0eCwgZXJyb3IpCit7Cisg
ICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQu
Ym9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3
b3JsZC4iOworZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlz
aWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJB
bGxEYXRhYmFzZXMoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAg
ICAgICAiZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEodHgsIGVycm9yKVxuIiArCisg
ICAgICAgICJ7XG4iICsKKyAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4i
ICsKKyAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIg
KworICAgICAgICAifVxuIiArCisgICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdTdGF0
ZW1lbnRFcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisg
ICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIgKworICAgICAgICAiICAg
IHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9
LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSk7XG4iICsKKyAgICAgICAgIn0pOyIpOworCisgICAg
dmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJyb3JDYWxsYmFja0lzb2xhdGVkV29y
bGQyJywgJzEuMCcsICcnLCAxKTsKKyAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
KyAgICAgICAgdHguZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwg
ZGF0YSkge30sIHN0YXRlbWVudEVycm9yQ2FsbGJhY2syKTsKKyAgICB9KTsKK30KKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGI4MzZkMTYx
OGI5OTMyNDU2ODUxYWM5ZjhlMDdhNzZjYzE1ZmFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKQEAgLTAs
MCArMSw4NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGxvZyhtZXNz
YWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1M
ICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAg
IGxvZygiVGVzdCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwordmFy
IHR4Q2FsbGJhY2tDb3VudCA9IDA7Cit2YXIgTlVNQkVSX09GX1RSQU5TQUNUSU9OUyA9IDEwOwor
dmFyIGRhdGFiYXNlOworCitmdW5jdGlvbiBydW5UcmFuc2FjdGlvbihleHBlY3RlZFRvRmFpbCwg
c3RhdGVtZW50RXJyb3JDYWxsYmFjaykKK3sKKyAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5j
dGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVY
SVNUUyBUZXN0VGFibGUgKFJhbmRvbURhdGEgVEVYVCkiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNx
bCgiSU5TRVJUIElOVE8gVGVzdFRhYmxlIFZBTFVFUyAoPykiLCBbJ3Rlc3QnXSk7CisgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIlRISVMgU1RBVEVNRU5UIFdJTEwgRkFJTCIsIFtdLAorICAgICAgICAg
ICAgZnVuY3Rpb24odHgsIGRhdGEpIHsKKyAgICAgICAgICAgICAgICBsb2coIkZBSUwgLSB0aGlz
IHN0YXRlbWVudCBzaG91bGQgaGF2ZSBmYWlsZWQiKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hU
ZXN0KCk7CisgICAgICAgICAgICB9LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKTsKKyAgICAgICAg
dHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdFRhYmxlIFZBTFVFUyAoPykiLCBbJ3Rlc3Qx
J10sCisgICAgICAgICAgICBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAgIGlmIChl
eHBlY3RlZFRvRmFpbCkKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gVGhpcyBzdGF0
ZW1lbnQgc2hvdWxkIG5vdCBoYXZlIGJlZW4gZXhlY3V0ZWQiKTsKKyAgICAgICAgICAgIH0sIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZFRvRmFpbCkKKyAgICAgICAg
ICAgICAgICAgICAgbG9nKCJGQUlMIC0gVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBoYXZlIGJl
ZW4gZXhlY3V0ZWQiKTsKKyAgICAgICAgICAgIH0pOworICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7
CisgICAgICAgIGlmIChleHBlY3RlZFRvRmFpbCkKKyAgICAgICAgICAgIGxvZygiUEFTUyAtIHRo
ZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4iKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNr
IHNob3VsZCBub3QgaGF2ZSBiZWVuIGludm9rZWQuIik7CisgICAgICAgIGlmICgrK3R4Q2FsbGJh
Y2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJT05TKQorICAgICAgICAgICAgZmluaXNoVGVz
dCgpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisg
ICAgICAgICAgICBsb2coIkZBSUwgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayBz
aG91bGQgbm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBsb2coIlBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tl
ZC4iKTsKKyAgICAgICAgaWYgKCsrdHhDYWxsYmFja0NvdW50ID09IE5VTUJFUl9PRl9UUkFOU0FD
VElPTlMpCisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9u
IHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZGF0YWJhc2UgPSBvcGVuRGF0
YWJhc2UoIlN0YXRlbWVudEVycm9yQ2FsbGJhY2tUZXN0IiwgIjEuMCIsICJzdGF0ZW1lbnQgZXJy
b3IgY2FsbGJhY2sgdGVzdCIsIDEwMjQpOworCisgICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVu
Y3Rpb24oZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pOworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUs
IGZ1bmN0aW9uKGVycm9yKSB7IHRocm93ICJFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNh
bGxiYWNrIjsgcmV0dXJuIGZhbHNlOyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5j
dGlvbihlcnJvcikgeyByZXR1cm4gInNvbWUgc3RyaW5nIjsgfSk7CisgICAgcnVuVHJhbnNhY3Rp
b24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuIDEyMzQ7IH0pOworICAgIHJ1blRyYW5z
YWN0aW9uKHRydWUsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiB7YTogMiwgYjogImFiYyJ9OyB9
KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gImZh
bHNlIjsgfSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7fSk7
CisgICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiBmYWxz
ZTsgfSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVy
biAwOyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbihmYWxzZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0
dXJuIG51bGw7IH0pOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSB0cmFuc2FjdGlvbiBpcyBpbW1l
ZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBhIHN0YXRlbWVudCdzIGVycm9yIGNh
bGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMgdHJ1ZSwgb3IgZG9lc24ndCByZXR1
cm4gYW55IHZhbHVlLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3ByZT4KKzwvYm9keT4KKworPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1
Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZjAyN2RmYmQxYTA0MzQ2M2YyMTc2OWI3MzcxOWE4
OGU1YmY2ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9z
dGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitBTEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9k
eS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMg
dGVzdCB0ZXN0cyB0aGF0IHRoZSBzdGF0ZW1lbnQgc3VjY2VzcyBjYWxsYmFjayBpcyBjYWxsZWQg
aW4gdGhlIHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmFjNzU0YjNjM2MyMGE4MmJhYzk4ZDI3YTg2NGUx
NDc1ZmMxMTNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsx
LDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMg
dGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdo
dCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBzdGF0ZW1l
bnRTdWNjZXNzQ2FsbGJhY2tzSW52b2tlZCA9IDA7CitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBp
ZiAoKCsrc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrMSh0eCwgZGF0
YSkKK3sKKyAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAg
ICBkb25lKCk7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazIodHgsIGRh
dGEpCit7CisgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOworICAgIGRvbmUoKTsKK30KKwor
ZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBp
c29sYXRlZCB3b3JsZC4iOworZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9k
eS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAg
ICAwLAorICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrMSh0eCwgZGF0
YSlcbiIgKworICAgICAgICAie1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9k
eS5mb28pO1xuIiArCisgICAgICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRv
bmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRh
YmFzZSgnU3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycs
IDEpO1xuIiArCisgICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIgKwor
ICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRl
c3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEpO1xuIiArCisgICAg
ICAgICJ9KTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1N0YXRlbWVudFN1Y2Nl
c3NDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKKyAgICBkYjIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgnQ1JFQVRFIFRBQkxF
IElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCknLCBbXSwgc3RhdGVtZW50U3VjY2Vzc0NhbGxi
YWNrMik7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2stZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzYxOTAyNDQxNzhjM2VhMmRkOTNhNTYyMzAyYTgwNmVhODQ4OTg0
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3Mt
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyB0ZXN0IGNvbmZpcm1z
IHRoYXQgYSBzdWNjZXNzZnVsIHRyYW5zYWN0aW9uIC0gYm90aCB3aXRoIGFuZCB3aXRob3V0IGEg
c3RhdGVtZW50IC0gcmVjZWl2ZXMgaXRzIHN1Y2Nlc3NDYWxsYmFjaworVHJhbnNhY3Rpb24gc3Vj
Y2VlZGVkIC0gVHJhbnNhY3Rpb24gd2l0aCBvbmUgc3RhdGVtZW50CitUcmFuc2FjdGlvbiBzdWNj
ZWVkZWQgLSBFbXB0eSB0cmFuc2FjdGlvbgorVGVzdCBDb21wbGV0ZQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzIz
N2FiYTgyZTMwOTcyNDgxYWFiYjcwNTBkNWEyMTQ2ZTI1YzNmYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2suaHRtbApAQCAtMCww
ICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAg
bG9nKCJUZXN0IENvbXBsZXRlIik7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5j
dGlvbiBlcnJvckZ1bmN0aW9uKGVycm9yKQoreworICAgIGxvZygiVGVzdCBmYWlsZWQgLSAiICsg
ZXJyb3IubWVzc2FnZSk7CisgICAgZmluaXNoVGVzdCgpOworfQorCit2YXIgc3VjY2Vzc0NvdW50
ID0gMDsKKworZnVuY3Rpb24gc3VjY2Vzc0Z1bmN0aW9uKG1lc3NhZ2UpCit7CisgICAgbG9nKCJU
cmFuc2FjdGlvbiBzdWNjZWVkZWQgLSAiICsgbWVzc2FnZSk7CisgICAgaWYgKCsrc3VjY2Vzc0Nv
dW50ID09IDIpCisgICAgICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgp
Cit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICB9CisgICAgCisgICAgdmFyIGRhdGFiYXNlID0gb3BlbkRhdGFi
YXNlKCJTdWNjZXNzQ2FsbGJhY2tEYXRhYmFzZSIsICIxLjAiLCAiVGVzdCBmb3Igc3VjY2VzcyBj
YWxsYmFjayA8cmRhcjovLzU3Mzc2OTI+IiwgMSk7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHsgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg
U3VjY2Vzc0NhbGxiYWNrVGVzdCAocmFuZG9tRGF0YSkiLCBbXSk7IH0sIGVycm9yRnVuY3Rpb24s
IGZ1bmN0aW9uKCkgeyBzdWNjZXNzRnVuY3Rpb24oIlRyYW5zYWN0aW9uIHdpdGggb25lIHN0YXRl
bWVudCIpOyB9KTsKKyAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeyB9LCBl
cnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgc3VjY2Vzc0Z1bmN0aW9uKCJFbXB0eSB0cmFuc2Fj
dGlvbiIpOyB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgc3VjY2Vzc2Z1bCB0cmFuc2FjdGlv
biAtIGJvdGggd2l0aCBhbmQgd2l0aG91dCBhIHN0YXRlbWVudCAtIHJlY2VpdmVzIGl0cyBzdWNj
ZXNzQ2FsbGJhY2sKKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXpl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6
ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiZmFmZDQ5YmRjNmIzY2Q1ZmI3YjM4ODQyYTIx
ZDliYzQwZjYzYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjggQEAKK1RoaXMgdGVz
dCB0ZXN0cyB0aGUgZGF0YWJhc2UgYXV0aG9yaXplci4KK1NRTElURV9DUkVBVEVfVEFCTEUgc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfSU5ERVggc3RhdGVtZW50IHN1Y2NlZWRl
ZC4KK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRF
X0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVf
VEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBh
cmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9SRUFEIHN0YXRlbWVudCBz
dWNjZWVkZWQuCitTUUxJVEVfU0VMRUNUIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfREVM
RVRFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfSU5TRVJUIHN0YXRlbWVudCBzdWNjZWVk
ZWQuCitTUUxJVEVfVVBEQVRFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfUFJBR01BIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhv
cml6ZWQpCitTUUxJVEVfQUxURVJfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9B
TFRFUl9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRl
bWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6
ZWQpCitTUUxJVEVfQVRUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfREVUQUNIIHN0YXRlbWVudCBmYWls
ZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJ
VEVfUkVJTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0FOQUxZWkUgc3RhdGVtZW50
IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkK
K1NRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfRFJPUF9URU1Q
X1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1RFTVBfVklFVyBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkLgorU1FMSVRFX0RST1BfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RS
T1BfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEFCTEUgc3RhdGVtZW50
IHN1Y2NlZWRlZC4KK1dyaXRlIHRyYW5zYWN0aW9uIHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVf
VEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5v
dCBhdXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgor
U1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBz
dGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9y
aXplZCkKK1NRTElURV9DUkVBVEVfVEVNUF9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVf
VEVNUF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAo
MjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IGZhaWxl
ZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQorU1FMSVRF
X0NSRUFURV9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQ1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FM
SVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9URU1Q
X1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9URU1QX1ZJRVcgc3RhdGVtZW50IHN1
Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FM
SVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1ZUQUJM
RSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQorU1FMSVRFX1JFQUQgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9TRUxF
Q1Qgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9ERUxFVEUgc3RhdGVtZW50IGZhaWxlZDog
Y291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9J
TlNFUlQgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKK1NRTElURV9VUERBVEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9QUkFHTUEgc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKK1NRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0FMVEVSX1RBQkxFIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBubyBzdWNoIHRh
YmxlOiBUZXN0VGFibGUpCitTUUxJVEVfVFJBTlNBQ1RJT04gc3RhdGVtZW50IGZhaWxlZDogY291
bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9BVFRB
Q0ggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3Qg
YXV0aG9yaXplZCkKK1NRTElURV9ERVRBQ0ggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHBy
ZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9SRUlOREVYIHN0YXRl
bWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6
ZWQpCitTUUxJVEVfQU5BTFlaRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBz
dGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfSU5ERVggc3RhdGVtZW50
IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkK
K1NRTElURV9EUk9QX1RFTVBfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBh
cmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9EUk9QX1RFTVBfVFJJR0dF
UiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQorU1FMSVRFX0RST1BfVEVNUF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9U
UklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMg
bm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9U
QUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5v
dCBhdXRob3JpemVkKQorUmVhZCB0cmFuc2FjdGlvbnMgc3VjY2VlZGVkLgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhi
YWYxMGFhNDc1MDBhNGYzY2YzMTI0Yzc2NzE3MzE3OWU4OTQzNGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuaHRtbApAQCAtMCww
ICsxLDEyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFz
ZS1jb21tb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InRlc3QtYXV0aG9yaXplci5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitU
aGlzIHRlc3QgdGVzdHMgdGhlIGRhdGFiYXNlIGF1dGhvcml6ZXIuPGJyPgorPHByZSBpZD0iY29u
c29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXpl
ci5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40YTA4Yzg5ZGY1NGEzYjZjNGE4NjNjMDFkZjg5ZjQ3NTFjY2M5MTg5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmpz
CkBAIC0wLDAgKzEsMTUzIEBACitmdW5jdGlvbiB0ZXJtaW5hdGVUZXN0KCkKK3sKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGxvZ0FuZFRlcm1pbmF0ZVRlc3QobWVzc2Fn
ZSwgZXJyb3IpCit7CisgICAgbG9nKG1lc3NhZ2UgKyAiOiAiICsgZXJyb3IubWVzc2FnZSk7Cisg
ICAgdGVybWluYXRlVGVzdCgpOworfQorCitmdW5jdGlvbiBjbGVhbnVwKGRiKQoreworICAgIGRi
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJE
Uk9QIFRBQkxFIElGIEVYSVNUUyBUZXN0OyIpOworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
RFJPUCBJTkRFWCBJRiBFWElTVFMgVGVzdEluZGV4OyIpOworICAgICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiRFJPUCBWSUVXIElGIEVYSVNUUyBUZXN0VmlldzsiKTsKKyAgICAgICAgICAgIHR4LmV4
ZWN1dGVTcWwoIkRST1AgVFJJR0dFUiBJRiBFWElTVFMgVGVzdFRyaWdnZXI7Iik7CisgICAgICAg
IH0sIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIkNsZWFudXAgZmFpbGVk
IiwgZXJyb3IpOyB9KTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKHN0
YXRlbWVudFR5cGUpCit7CisgICAgbG9nKHN0YXRlbWVudFR5cGUgKyAiIHN0YXRlbWVudCBzdWNj
ZWVkZWQuIik7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2soc3RhdGVtZW50
VHlwZSwgZXJyb3IpCit7CisgICAgbG9nKHN0YXRlbWVudFR5cGUgKyAiIHN0YXRlbWVudCBmYWls
ZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Z1bmN0aW9u
IGV4ZWN1dGVTdGF0ZW1lbnQodHgsIHN0YXRlbWVudCwgb3BlcmF0aW9uKQoreworICAgIHR4LmV4
ZWN1dGVTcWwoc3RhdGVtZW50LCBbXSwKKyAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHJlc3Vs
dCkgeyBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2sob3BlcmF0aW9uKTsgfSwKKyAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gc3RhdGVtZW50RXJyb3JDYWxsYmFj
ayhvcGVyYXRpb24sIGVycm9yKTsgfSk7Cit9CisKK2Z1bmN0aW9uIGNyZWF0ZVRhYmxlQ2FsbGJh
Y2sodHgpCit7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBUQUJMRSBUZXN0IChG
b28gaW50KTsiLCAiU1FMSVRFX0NSRUFURV9UQUJMRSIpOworfQorCitmdW5jdGlvbiBjcmVhdGVT
dGF0ZW1lbnRzQ2FsbGJhY2sodHgpCit7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFU
RSBJTkRFWCBUZXN0SW5kZXggT04gVGVzdCAoRm9vKTsiLCAiU1FMSVRFX0NSRUFURV9JTkRFWCIp
OworCisgICAgLy8gRXZlbiB0aG91Z2ggdGhlIGZvbGxvd2luZyBxdWVyeSBzaG91bGQgdHJpZ2dl
ciBhIFNRTElURV9DUkVBVEVfVEVNUF9JTkRFWCBvcGVyYXRpb24KKyAgICAvLyAoYWNjb3JkaW5n
IHRvIGh0dHA6Ly93d3cuc3FsaXRlLm9yZy90ZW1wZmlsZXMuaHRtbCksIGl0IGRvZXNuJ3QsIGFu
ZCBJJ20gbm90IGF3YXJlCisgICAgLy8gb2YgYW55IG90aGVyIHdheSB0byB0cmlnZ2VyIHRoaXMg
b3BlcmF0aW9uLiBTbyB3ZSdsbCBza2lwIGl0IGZvciBub3cuCisgICAgLy9leGVjdXRlU3RhdGVt
ZW50KHR4LCAiU0VMRUNUICogRlJPTSBUZXN0IFdIRVJFIEZvbyBJTiAoMSwgMiwgMyk7IiwgIlNR
TElURV9DUkVBVEVfVEVNUF9JTkRFWCIpOworCisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNS
RUFURSBURU1QIFRBQkxFIFRlc3RUZW1wVGFibGUgKEZvbyBpbnQpOyIsICJTUUxJVEVfQ1JFQVRF
X1RFTVBfVEFCTEUiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRFTVAgVFJJ
R0dFUiBUZXN0VGVtcFRyaWdnZXIgSU5TRVJUIE9OIFRlc3QgQkVHSU4gU0VMRUNUIENPVU5UKCop
IEZST00gVGVzdDsgRU5EOyIsICJTUUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiIpOworICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVNUCBWSUVXIFRlc3RUZW1wVmlldyBBUyBTRUxF
Q1QgQ09VTlQoKikgRlJPTSBUZXN0OyIsICJTUUxJVEVfQ1JFQVRFX1RFTVBfVklFVyIpOworICAg
IGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVFJJR0dFUiBUZXN0VHJpZ2dlciBJTlNFUlQg
T04gVGVzdCBCRUdJTiBTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyBFTkQ7IiwgIlNRTElURV9D
UkVBVEVfVFJJR0dFUiIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVklFVyBU
ZXN0VmlldyBBUyBTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyIsICJTUUxJVEVfQ1JFQVRFX1ZJ
RVciKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFZJUlRVQUwgVEFCTEUgVGVz
dFZpcnR1YWxUYWJsZSBVU0lORyBNaXNzaW5nTW9kdWxlOyIsICJTUUxJVEVfQ1JFQVRFX1ZUQUJM
RSIpOworfQorCitmdW5jdGlvbiBvdGhlclN0YXRlbWVudHNDYWxsYmFjayh0eCkKK3sKKyAgICBl
eGVjdXRlU3RhdGVtZW50KHR4LCAiU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRF
X1JFQUQiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiU0VMRUNUIENPVU5UKCopIEZST00g
VGVzdDsiLCAiU1FMSVRFX1NFTEVDVCIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJERUxF
VEUgRlJPTSBUZXN0OyIsICJTUUxJVEVfREVMRVRFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0
eCwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgxKTsiLCAiU1FMSVRFX0lOU0VSVCIpOworICAg
IGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJVUERBVEUgVGVzdCBTRVQgRm9vID0gMiBXSEVSRSBGb28g
PSAxOyIsICJTUUxJVEVfVVBEQVRFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlBSQUdN
QSBjYWNoZV9zaXplOyIsICJTUUxJVEVfUFJBR01BIik7CisKKyAgICBleGVjdXRlU3RhdGVtZW50
KHR4LCAiQUxURVIgVEFCTEUgVGVzdCBSRU5BTUUgVE8gVGVzdFRhYmxlOyIsICJTUUxJVEVfQUxU
RVJfVEFCTEUiKTsKKyAgICAvLyBSZW5hbWUgdGhlIHRhYmxlIGJhY2sgdG8gaXRzIG9yaWdpbmFs
IG5hbWUKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQUxURVIgVEFCTEUgVGVzdFRhYmxlIFJF
TkFNRSBUbyBUZXN0OyIsICJTUUxJVEVfQUxURVJfVEFCTEUiKTsKKworICAgIGV4ZWN1dGVTdGF0
ZW1lbnQodHgsICJCRUdJTiBUUkFOU0FDVElPTjsiLCAiU1FMSVRFX1RSQU5TQUNUSU9OIik7Cisg
ICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFUVEFDSCBtYWluIEFTIFRlc3RNYWluOyIsICJTUUxJ
VEVfQVRUQUNIIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRFVEFDSCBUZXN0TWFpbjsi
LCAiU1FMSVRFX0RFVEFDSCIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJSRUlOREVYOyIs
ICJTUUxJVEVfUkVJTkRFWCIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJBTkFMWVpFOyIs
ICJTUUxJVEVfQU5BTFlaRSIpOworCisgICAgLy8gU1FMSVRFX0ZVTkNUSU9OOiBhbGxvd2VkIHdy
aXRlIG1vZGUKKyAgICAvLyBUaGVyZSBpcyBubyBTUUwvSmF2YXNjcmlwdCBBUEkgdG8gYWRkIHVz
ZXItZGVmaW5lZCBmdW5jdGlvbnMgdG8gU1FMaXRlLAorICAgIC8vIHNvIHdlIGNhbm5vdCB0ZXN0
IHRoaXMgb3BlcmF0aW9uCit9CisKK2Z1bmN0aW9uIGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2sodHgp
Cit7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgSU5ERVggVGVzdEluZGV4OyIsICJT
UUxJVEVfRFJPUF9JTkRFWCIpOworCisgICAgLy8gU1FMSVRFX0RST1BfVEVNUF9JTkRFWDogYWxs
b3dlZCBpbiB3cml0ZSBtb2RlCisgICAgLy8gTm90IHN1cmUgaG93IHRvIHRlc3QgdGhpczogdGVt
cCBpbmRleGVzIGFyZSBhdXRvbWF0aWNhbGx5IGRyb3BwZWQgd2hlbgorICAgIC8vIHRoZSBkYXRh
YmFzZSBpcyBjbG9zZWQsIGJ1dCBIVE1MNSBkb2Vzbid0IHNwZWNpZnkgYSBjbG9zZURhdGFiYXNl
KCkgY2FsbC4KKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFRBQkxFIFRlc3RUZW1w
VGFibGU7IiwgIlNRTElURV9EUk9QX1RFTVBfVEFCTEUiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50
KHR4LCAiRFJPUCBUUklHR0VSIFRlc3RUZW1wVHJpZ2dlcjsiLCAiU1FMSVRFX0RST1BfVEVNUF9U
UklHR0VSIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVklFVyBUZXN0VGVtcFZp
ZXc7IiwgIlNRTElURV9EUk9QX1RFTVBfVklFVyIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgs
ICJEUk9QIFRSSUdHRVIgVGVzdFRyaWdnZXI7IiwgIlNRTElURV9EUk9QX1RSSUdHRVIiKTsKKyAg
ICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBWSUVXIFRlc3RWaWV3OyIsICJTUUxJVEVfRFJP
UF9WSUVXIik7CisKKyAgICAvLyBTUUxJVEVfRFJPUF9WVEFCTEU6IGFsbG93ZWQgaW4gd3JpdGUg
bW9kZQorICAgIC8vIE5vdCBzdXJlIGhvdyB0byB0ZXN0IHRoaXM6IHdlIGNhbm5vdCBjcmVhdGUg
YSB2aXJ0dWFsIHRhYmxlIGJlY2F1c2Ugd2UgZG8gbm90CisgICAgLy8gaGF2ZSBTUUwvSmF2YXNj
cmlwdCBBUElzIHRvIHJlZ2lzdGVyIGEgbW9kdWxlIHRoYXQgaW1wbGVtZW50cyBhIHZpcnR1YWwg
dGFibGUuCisgICAgLy8gVGhlcmVmb3JlLCB0cnlpbmcgdG8gZHJvcCBhIHZpcnR1YWwgdGFibGUg
d2lsbCBhbHdheXMgZmFpbCAobm8gc3VjaCB0YWJsZSkKKyAgICAvLyBiZWZvcmUgZXZlbiBnZXR0
aW5nIHRvIHRoZSBhdXRob3JpemVyLgorCisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1Ag
VEFCTEUgVGVzdDsiLCAiU1FMSVRFX0RST1BfVEFCTEUiKTsKK30KKworZnVuY3Rpb24gdGVzdFJl
YWRXcml0ZU1vZGUoZGIpCit7CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAg
ICAgICAgICAgIGNyZWF0ZVRhYmxlQ2FsbGJhY2sodHgpOworICAgICAgICAgICAgY3JlYXRlU3Rh
dGVtZW50c0NhbGxiYWNrKHR4KTsKKyAgICAgICAgICAgIG90aGVyU3RhdGVtZW50c0NhbGxiYWNr
KHR4KTsKKyAgICAgICAgICAgIGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpOworICAgICAgICB9
LAorICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJXcml0ZSB0
cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0sCisgICAgICAgIGZ1bmN0aW9uKCkgeyBsb2co
IldyaXRlIHRyYW5zYWN0aW9uIHN1Y2NlZWRlZC4iKTsgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3RS
ZWFkT25seU1vZGUoZGIpCit7CisgICAgLy8gVGVzdCB0aGUgJ0NSRUFURSBUQUJMRScgb3BlcmF0
aW9uOyBpdCBzaG91bGQgYmUgZGlzYWxsb3dlZAorICAgIGRiLnJlYWRUcmFuc2FjdGlvbihjcmVh
dGVUYWJsZUNhbGxiYWNrLAorICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5h
dGVUZXN0KCJSZWFkICdDUkVBVEUgVEFCTEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsg
fSk7CisKKyAgICAvLyBJbiBvcmRlciB0byB0ZXN0IGFsbCBvdGhlciAnQ1JFQVRFJyBvcGVyYXRp
b25zLCB3ZSBtdXN0IGNyZWF0ZSB0aGUgdGFibGUgZmlyc3QKKyAgICBkYi50cmFuc2FjdGlvbihj
cmVhdGVUYWJsZUNhbGxiYWNrLAorICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJt
aW5hdGVUZXN0KCJXcml0ZSAnQ1JFQVRFIFRBQkxFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJv
cik7IH0pOworICAgIGRiLnJlYWRUcmFuc2FjdGlvbihjcmVhdGVTdGF0ZW1lbnRzQ2FsbGJhY2ss
CisgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJlYWQgJ0NS
RUFURScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKKworICAgIC8vIEluIG9yZGVy
IHRvIHRlc3QgdGhlICdEUk9QJyBhbmQgJ290aGVyJyBvcGVyYXRpb25zLCB3ZSBuZWVkIHRvIGZp
cnN0IGNyZWF0ZSB0aGUgcmVzcGVjdGl2ZSBlbnRpdGllcworICAgIGRiLnRyYW5zYWN0aW9uKGNy
ZWF0ZVN0YXRlbWVudHNDYWxsYmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5k
VGVybWluYXRlVGVzdCgiV3JpdGUgJ0NSRUFURScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3Ip
OyB9KTsKKyAgICBkYi5yZWFkVHJhbnNhY3Rpb24ob3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2ssCisg
ICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJlYWQgJ290aGVy
JyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOworCisgICAgLy8gSGFjazogaW5zZXJ0
IGFuIGVtcHR5IHdyaXRlIHRyYW5zYWN0aW9uIHRvIGd1YXJhdGVlIHRoYXQgdGhlc2UgdHJhbnNh
Y3Rpb25zIGFyZSBleGVjdXRlZCBzZXF1ZW50aWFsbHkKKyAgICBkYi50cmFuc2FjdGlvbihmdW5j
dGlvbih0eCkgeyB9KTsKKyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oZHJvcFN0YXRlbWVudHNDYWxs
YmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVh
ZCAnRFJPUCcgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9LAorICAgICAgICBmdW5jdGlv
bigpIHsgbG9nKCJSZWFkIHRyYW5zYWN0aW9ucyBzdWNjZWVkZWQuIik7IHRlcm1pbmF0ZVRlc3Qo
KTsgfSk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYiA9IG9wZW5EYXRh
YmFzZVdpdGhTdWZmaXgoIkF1dGhvcml6ZXJUZXN0IiwgIjEuMCIsICJUZXN0cyB0aGUgZGF0YWJh
c2UgYXV0aG9yaXplci4iLCAzMjc2OCk7CisgICAgY2xlYW51cChkYik7CisgICAgdGVzdFJlYWRX
cml0ZU1vZGUoZGIpOworICAgIHRlc3RSZWFkT25seU1vZGUoZGIpOworfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9u
LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjg4
Yzc0MjYwNWUzNGRkYjk4OGU4OTMzYzM0ZTA0M2EzM2FjMjRlZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlv
bi1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IFRy
YW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVz
dCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjRiY2M3MzJiYjhmMmI1M2VjYjQ0ODFhNzk5NzVlMmNjZjcxY2NkYzMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFj
ay1leGNlcHRpb24tY3Jhc2guaHRtbApAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworfQorCit2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIjE1OTc2VGVzdCIsICIx
LjAiLCAiVGVzdCBmb3IgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5
NzYiLCAxKTsKK2RiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkg
eyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkgfSwgMCk7CisgICB0aHJvdyAiVHJh
bnNhY3Rpb25DYWxsYmFja0Vycm9yIjsKK30pOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
K0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFzIHBhc3NlZAorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI3ZjQ3NGY3YmM2ZWE3OGE5MjE3Yjk4ZDA4YjliMjVhNzEyZWZlNGUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlv
bi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitB
TEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBp
biBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0
IHRoZSB0cmFuc2FjdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJh
bnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODI1ZDcw
MDM0MDQyODQ2ZWZkNGQxZDk1ODNiNzJlMmU1OTUyYmJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+
CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVk
IGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
K3ZhciB0cmFuc2FjdGlvbkNhbGxiYWNrc0ludm9rZWQgPSAwOworZnVuY3Rpb24gZG9uZSgpCit7
CisgICAgaWYgKCgrK3RyYW5zYWN0aW9uQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMSh0eCkKK3sKKyAg
ICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBkb25lKCk7
Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uQ2FsbGJhY2syKHR4KQoreworICAgIGFsZXJ0KGRv
Y3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJvZHkuZm9vID0g
IkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKK2Rv
Y3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBj
YWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5l
dmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAgICAgImZ1bmN0
aW9uIHRyYW5zYWN0aW9uQ2FsbGJhY2sxKHR4KVxuIiArCisgICAgICAgICJ7XG4iICsKKyAgICAg
ICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4iICsKKyAgICAgICAgIiAgICB3aW5k
b3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIgKworICAgICAgICAifVxuIiArCisg
ICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkNhbGxiYWNrSXNvbGF0
ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAgICAgICJkYjEudHJhbnNhY3Rpb24o
dHJhbnNhY3Rpb25DYWxsYmFjazEpOyIpOworCisgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgn
VHJhbnNhY3Rpb25DYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKKyAgICBk
YjIudHJhbnNhY3Rpb24odHJhbnNhY3Rpb25DYWxsYmFjazIpOworfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmZiMzNiZDlhYjdkMDc3YzVkZDYzYzAwNzk4ZTNkNjc1MDA5ZjMxNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2
MzogW29iamVjdCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmplY3QgT2Jq
ZWN0XQorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNr
IGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0
cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KK1Rlc3RpbmcgdHJh
bnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1
ZSA6IFNVQ0NFU1MKK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJv
ciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCitUZXN0aW5nIHN0YXRlbWVudCBjYWxs
YmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVl
IDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9u
IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCitBbGwgVGVzdHMg
YXJlIGNvbXBsZXRlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90
cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGExNTM5NjY3OGQ5ZWJmMzE1MmQ4
ZTljODRkM2MxNGNiNGU5ZjI3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FMRVJUOiBQQVNTOiBk
b2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdv
cmxkLgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNr
IGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMTg5NGQyZWEyNzU4YWU5MWY5
NzM5YTdiNTU1ZDVjNmUzMmRjYjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1s
CkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KK1RoaXMg
dGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQg
aW4gdGhlIHJpZ2h0IHdvcmxkLgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
dmFyIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUo
KQoreworICAgIGlmICgoKyt0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAm
JiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2sxKHR4KQoreworICAgIGFsZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIp
OworICAgIGRvbmUoKTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMih0
eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5ib2R5LmJhcik7CisgICAgZG9uZSgpOworfQorCitk
b2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlz
b2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5
LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCisgICAgICAg
IDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KVxuIiAr
CisgICAgICAgICJ7XG4iICsKKyAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7
XG4iICsKKyAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztc
biIgKworICAgICAgICAifVxuIiArCisgICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdU
cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4i
ICsKKyAgICAgICAgImRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkge1xuIiArCisgICAgICAg
ICIgICAgdHguZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0
YSkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7XG4iICsKKyAgICAg
ICAgIn0sIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazEpOyIpOworCisgICAgdmFyIGRiMiA9IG9w
ZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4w
JywgJycsIDEpOworICAgIGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0
eC5leGVjdXRlU3FsKCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwg
ZnVuY3Rpb24odHgsIGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICB9LCB0cmFuc2FjdGlv
bkVycm9yQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJh
Y2suaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNh
bGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTBiMmVkMDM0ZmQ5NWE3YmFlNTJhMDg2ZTlhMmVlNWVi
Y2RlZjc3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Ry
YW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSwxMDUgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4i
OworfQorCisvLyBzaWduYWwgdG8gbGF5b3V0VGVzdENvbnRyb2xsZXIgd2hlbiB0aGlzIHJlYWNo
ZXMgemVyby4KK3ZhciB0ZXN0Q291bnQgPSA0OworLy8gd2UgZmlyc3QgcmV0cmlldmUgYW5kIHN0
b3JlIHRoZSBudW1iZXIgb2Ygcm93cyBhbHJlYWR5IGluIG91ciB0ZXN0IGRhdGFiYXNlLgorLy8g
b3VyIGdvYWwgaXMgdG8ga2VlcCB0aGUgbnVtYmVyIHVuY2hhbmdlZCB0aHJvdWdoIHRoZSB0ZXN0
cy4KK3ZhciBpbml0aWFsUm93Q291bnQgPSAwOwordmFyIGRhdGFiYXNlOwordmFyIHN1Y2Nlc3ND
YWxsYmFja0NhbGxlZDsKKworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgaWYgKC0tdGVz
dENvdW50KQorICAgICAgICByZXR1cm47CisKKyAgICBsb2coIkFsbCBUZXN0cyBhcmUgY29tcGxl
dGUuIik7CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHN1Y2Nlc3ND
YWxsYmFjaygpCit7CisgICAgc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID0gdHJ1ZTsKK30KKworZnVu
Y3Rpb24gdmVyaWZ5U3VjY2Vzcyhtc2cpCit7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpCisgICAgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgY291bnQoKikg
QVMgY291bnQgRlJPTSBFcnJvckNhbGxiYWNrVGVzdCIsIFtdLCBmdW5jdGlvbih0eCwgcnMpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGxvZyhtc2cgKyAiIDogIiArIChycy5yb3dzLml0ZW0oMCku
Y291bnQgPT0gaW5pdGlhbFJvd0NvdW50ICYmICFzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPyAiU1VD
Q0VTUyIgOiAiRkFJTFVSRSIpKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAg
fSk7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGZhaWxNaWRXYXkoZXJyb3JDYWxsYmFjaykKK3sK
KyAgICBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPSBmYWxzZTsKKyAgICBkYXRhYmFzZS50cmFuc2Fj
dGlvbihmdW5jdGlvbih0eCkKKyAgICB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJ
TlRPIEVycm9yQ2FsbGJhY2tUZXN0KHNvbWVWYWx1ZSkgVkFMVUVTKD8pOyIsIFsgMSBdKTsKKyAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiTVVUVEVSIFNPTUVUSElORyBJTExFR0lCTEUiKTsKKyAgICB9
LCBlcnJvckNhbGxiYWNrLCBzdWNjZXNzQ2FsbGJhY2spOworfQorCitmdW5jdGlvbiBzdGF0ZW1l
bnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihlcnJvckNhbGxiYWNrKQoreworICAgIHN1Y2Nlc3ND
YWxsYmFja0NhbGxlZCA9IGZhbHNlOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KQorICAgIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRXJyb3JDYWxs
YmFja1Rlc3Qoc29tZVZhbHVlKSBWQUxVRVMoPyk7IiwgWyAxIF0sIGZ1bmN0aW9uKCkKKyAgICAg
ICAgeworICAgICAgICAgICAgdGhyb3cge307CisgICAgICAgIH0pOworICAgIH0pOworfQorCitm
dW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRhdGFiYXNlID0g
b3BlbkRhdGFiYXNlKCJFcnJvckNhbGxiYWNrRGF0YWJhc2UiLCAiMS4wIiwgIlRlc3QgZm9yIGVy
cm9yIGNhbGxiYWNrIiwgMSk7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
CisgICAgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNU
UyBFcnJvckNhbGxiYWNrVGVzdCAoc29tZVZhbHVlKSIsIFtdKTsKKyAgICAgICAgdHguZXhlY3V0
ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50IEZST00gRXJyb3JDYWxsYmFja1Rlc3QiLCBb
XSwgZnVuY3Rpb24odHgsIHJzKQorICAgICAgICB7CisgICAgICAgICAgICBpbml0aWFsUm93Q291
bnQgPSBycy5yb3dzLml0ZW0oMCkuY291bnQ7CisgICAgICAgIH0pOworICAgIH0pOworCisgICAg
ZmFpbE1pZFdheShmdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOworICAgIHZlcmlmeVN1Y2Nl
c3MoIlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFj
ayByZXR1cm5pbmcgdHJ1ZSIpOworICAgIGZhaWxNaWRXYXkoZnVuY3Rpb24oKSB7IHJldHVybiBm
YWxzZTsgfSk7CisgICAgdmVyaWZ5U3VjY2VzcygiVGVzdGluZyB0cmFuc2FjdGlvbiBmYWlsaW5n
IG1pZC13YXkgYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybiBmYWxzZSIpOworICAgIHN0YXRlbWVu
dENhbGxiYWNrVGhyb3dzRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfSk7Cisg
ICAgdmVyaWZ5U3VjY2VzcygiVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhj
ZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSIpOworICAgIHN0YXRlbWVu
dENhbGxiYWNrVGhyb3dzRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwor
ICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4
Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIik7Cit9CisKKzwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CitUaGlzIHRlc3QgY29u
ZmlybXMgdGhhdCA8Y29kZT5TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2s8L2NvZGU+IGlzIGlu
dm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2Fj
dGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KKzxwcmUgaWQ9ImNvbnNvbGUi
PgorPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3Vj
Y2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQy
N2Y0YWNlNzM4MzNiNWU2ZWM0Njg2YWZlNzA1OTY0M2JmMWQ4YwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQUxFUlQ6IHVuZGVm
aW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFj
ayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNh
Y3Rpb24gc3VjY2VzcyBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNz
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2EyZGY5NGIzNGFkNTg2YjQwNzYzNDIwYzBjNzAzNjkzZDIxNzgyYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3Mt
Y2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rp
b24gc3VjY2VzcyBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFyIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxi
YWNrc0ludm9rZWQgPSAwOworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgaWYgKCgrK3RyYW5zYWN0
aW9uU3VjY2Vzc0NhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30K
KworZnVuY3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sxKHR4KQoreworICAgIGFsZXJ0
KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKwor
ZnVuY3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2syKHR4KQoreworICAgIGFsZXJ0KGRv
Y3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJvZHkuZm9vID0g
IkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKK2Rv
Y3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBj
YWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5l
dmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAgICAgImZ1bmN0
aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eClcbiIgKworICAgICAgICAie1xuIiAr
CisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIg
ICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1c
biIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNjZXNz
Q2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKKyAgICAgICAgImRi
MS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3ND
YWxsYmFjazEpOyIpOworCisgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25T
dWNjZXNzQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRy
YW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIG51bGwsIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxi
YWNrMik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143062</attachid>
            <date>2012-05-21 11:05:47 -0700</date>
            <delta_ts>2012-05-21 11:52:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86138-20120521110547.patch</filename>
            <type>text/plain</type>
            <size>292840</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NzcyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjVmOTMzYTZmYWM0MTUyNWUwMjA2
NDRhOTJmMWQ3MTU4NWUwM2YzOS4uMzk1NWUyYzU3YWRjMzA2Nzk1OTI0NzUzNjAxNDdiY2E0Zjdk
NTRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4NiBAQAorMjAxMi0wNS0yMSAgSm9zaHVhIEJlbGwgIDxq
c2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgV2ViU1FMIHRlc3RzIGluIExheW91
dFRlc3RzL3N0b3JhZ2UgdG8gd2Vic3FsIGRpcmVjdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBS
eW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJjZXMv
ZGF0YWJhc2Utd29ya2VyLWNvbnRyb2xsZXIuanM6CisgICAgICAgIChydW5UZXN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9y
LWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1j
YWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1l
eHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1t
YWMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2UvdHJhbnNhY3Rpb24t
Y2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2st
ZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0
b3JhZ2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1j
b2Rlcy1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay90ZXN0X2V4cGVjdGF0aW9ucy50
eHQ6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJl
dXNlLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdl
LXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMu
CisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKHJ1blRlc3QuY2F0Y2gpOgorICAgICAg
ICAocnVuVGVzdCk6CisgICAgICAgIChydW5UZXN0Mi5jYXRjaCk6CisgICAgICAgIChydW5UZXN0
Mik6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24t
cHJlZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBl
Y3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jh
c2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sLgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBl
Y3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10
ZXN0Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1z
dHJlc3MtdGVzdC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2st
YWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3Jh
Z2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWw6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50Lmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0Lgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuanMuCisgICAgICAgICh0aHJvd09uVG9TdHJp
bmdPYmplY3QudG9TdHJpbmcpOgorICAgICAgICAodmFyKToKKyAgICAgICAgKHRyeUV4ZWN1dGVT
cWwpOgorICAgICAgICAocnVuVHJhbnNhY3Rpb25UZXN0KToKKyAgICAgICAgKHJ1blRyYW5zYWN0
aW9uVGVzdHMpOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwv
ZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1z
dGF0ZW1lbnQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVz
cWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sLgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIt
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdp
dGgteGhyLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14
aHIuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmpzLgorICAgICAgICAoc3RvcEludGVydmFscyk6CisgICAgICAgIChzdG9wVGVzdCk6Cisg
ICAgICAgICh1cGRhdGVEYXRhYmFzZSk6CisgICAgICAgIChjaGVja0ZvclN1Y2Nlc3MpOgorICAg
ICAgICAoZXJyb3JIYW5kbGVyKToKKyAgICAgICAgKHNlbmRYaHIpOgorICAgICAgICAoaW52b2tl
QmFjayk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJ1blRlc3RzSW5uZXIpOgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rp
b24tZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBs
ZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWw6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJi
YWdlLWNvbGxlY3Rpb24uaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1k
YXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzLgorICAgICAg
ICAoR0MpOgorICAgICAgICAoY2hlY2tDb21wbGV0aW9uKToKKyAgICAgICAgKHJ1blRlc3QpOgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1leHBlY3RlZC50
eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9u
cy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5k
bGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFu
c2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0
bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRp
ZmZlcmVudC1oYW5kbGVzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0
aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMuCisgICAgICAgIChjaGVj
a0NvbXBsZXRpb24pOgorICAgICAgICAob3BlblRlc3REYXRhYmFzZSk6CisgICAgICAgIChzdGF0
ZW1lbnRTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAoc3RhdGVtZW50RXJyb3JDYWxsYmFjayk6
CisgICAgICAgIChydW5UcmFuc2FjdGlvbik6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMuCisgICAgICAgIChj
aGVja0NvbXBsZXRpb24pOgorICAgICAgICAocnVuVGVzdC5kYik6CisgICAgICAgIChydW5UZXN0
KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxiYWNrcy5odG1sLgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0
ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNy
ZWF0aW9uLWNhbGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9v
cGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlv
bi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJz
cWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVj
dGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1l
bXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVy
LXF1b3RhLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQt
ZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24uaHRtbDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHkt
dmVyc2lvbi5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hp
bGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dy
ZXNzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNl
LXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5z
YWN0aW9uLWluLXByb2dyZXNzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9v
cGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzLgorICAgICAgICAo
b3BlblRlc3REYXRhYmFzZSk6CisgICAgICAgIChydW5UZXN0LmRiMS50cmFuc2FjdGlvbik6Cisg
ICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dz
aW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5v
cmVhZC1ub3dyaXRlLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tp
bmctZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10
cmFja2luZy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJh
Y2tpbmcuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJhY2tp
bmcuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2Fj
dGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXItZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRl
LXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXIuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2Fj
dGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcy4KKyAg
ICAgICAgKHRlcm1pbmF0ZVRlc3QpOgorICAgICAgICAob3BlblRlc3REYXRhYmFzZSk6CisgICAg
ICAgIChydW5UcmFuc2FjdGlvbik6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3Rl
ZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25z
LXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1
cnJlbnRseS5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFz
ZS1jb21tb24uanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9k
YXRhYmFzZS1jb21tb24uanMuCisgICAgICAgIChvcGVuRGF0YWJhc2VXaXRoU3VmZml4KToKKyAg
ICAgICAgKGxvZyk6CisgICAgICAgIChzZXRMb2NhdGlvbkhhc2gpOgorICAgICAgICAoc2V0dXBB
bmRSdW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2Ut
bG9jay1hZnRlci1yZWxvYWQtMi5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sLgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3NxbC1kYXRhLXR5cGVzLmpzLgorICAgICAgICAod3JpdGVNZXNzYWdlVG9Mb2cpOgorICAg
ICAgICAobm90aWZ5RG9uZSk6CisgICAgICAgIChzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUpOgor
ICAgICAgICAodGVzdERCVmFsdWVzKToKKyAgICAgICAgKGZldGNoREJWYWx1ZXNTdG10KToKKyAg
ICAgICAgKGluc2VydFRlc3RWYWx1ZXNTdG10KToKKyAgICAgICAgKGNyZWF0ZVRlc3REQlN0bXQp
OgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9y
LWNvZGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3Fs
LWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zcWwt
ZXJyb3ItY29kZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVy
cm9yLWNvZGVzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVz
LmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuanMu
CisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ayk6CisgICAgICAgICh0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICh0ZXN0
VHJhbnNhY3Rpb24pOgorICAgICAgICAodGVzdFRyYW5zYWN0aW9uVGhyb3dzRXhjZXB0aW9uKToK
KyAgICAgICAgKHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRGYWlsdXJl
KToKKyAgICAgICAgKHRlc3RJbnZhbGlkU3RhdGVtZW50KToKKyAgICAgICAgKHRlc3RJbmNvcnJl
Y3ROdW1iZXJPZkJpbmRQYXJhbWV0ZXJzKToKKyAgICAgICAgKHRlc3RCaW5kUGFyYW1ldGVyT2ZX
cm9uZ1R5cGUuYmFkU3RyaW5nLnRvU3RyaW5nKToKKyAgICAgICAgKHRlc3RCaW5kUGFyYW1ldGVy
T2ZXcm9uZ1R5cGUpOgorICAgICAgICAodGVzdFF1b3RhRXhjZWVkZWQpOgorICAgICAgICAodGVz
dFZlcnNpb25NaXNtYXRjaC5kYi50cmFuc2FjdGlvbik6CisgICAgICAgICh0ZXN0VmVyc2lvbk1p
c21hdGNoKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N0
YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVt
ZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3Rh
dGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxs
YmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nl
c3MtY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nl
c3MtY2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vz
cy1jYWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXpl
ci1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0
aG9yaXplci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRo
b3JpemVyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9y
aXplci5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qczog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzLgorICAg
ICAgICAodGVybWluYXRlVGVzdCk6CisgICAgICAgIChsb2dBbmRUZXJtaW5hdGVUZXN0KToKKyAg
ICAgICAgKGNsZWFudXApOgorICAgICAgICAoc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKToKKyAg
ICAgICAgKHN0YXRlbWVudEVycm9yQ2FsbGJhY2spOgorICAgICAgICAoZXhlY3V0ZVN0YXRlbWVu
dCk6CisgICAgICAgIChjcmVhdGVUYWJsZUNhbGxiYWNrKToKKyAgICAgICAgKGNyZWF0ZVN0YXRl
bWVudHNDYWxsYmFjayk6CisgICAgICAgIChvdGhlclN0YXRlbWVudHNDYWxsYmFjayk6CisgICAg
ICAgIChkcm9wU3RhdGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKHRlc3RSZWFkV3JpdGVNb2Rl
KToKKyAgICAgICAgKHRlc3RSZWFkT25seU1vZGUuZGIpOgorICAgICAgICAodGVzdFJlYWRPbmx5
TW9kZSk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jh
c2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbC4KKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJh
bnNhY3Rpb24tZXJyb3ItY2FsbGJhY2suaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLmh0bWwuCisKIDIwMTItMDUtMjEgIFphbiBEb2JlcnNlayAgPHphbmRv
YmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcsIGFk
ZCBleHBlY3RhdGlvbnMgZm9yIGFuIFNWRyB0ZXN0IGZvciBoaXQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS13b3JrZXItY29u
dHJvbGxlci5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNlcy9k
YXRhYmFzZS13b3JrZXItY29udHJvbGxlci5qcwppbmRleCBhOGE5NzUzNWVjMjRmOTQyYTgxNGNj
MTJjZjFjZDk4YjJlYTEwYjdjLi5hNzY1ZThjMTM1OGVjNGE0ZWVhMGZhNjhhZGRmNjhkMmYyOTRm
YmU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJj
ZXMvZGF0YWJhc2Utd29ya2VyLWNvbnRyb2xsZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3N0b3JhZ2UvcmVzb3VyY2VzL2RhdGFiYXNlLXdvcmtlci1jb250cm9sbGVyLmpzCkBA
IC0zMyw3ICszMyw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QodGVzdEZpbGUpCiAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgPSAiIjsKLSAgICBkYXRhYmFzZVdvcmtl
ci5wb3N0TWVzc2FnZSgiaW1wb3J0U2NyaXB0czouLi8uLi8uLi9zdG9yYWdlLyIgKyB0ZXN0Rmls
ZSk7CisgICAgZGF0YWJhc2VXb3JrZXIucG9zdE1lc3NhZ2UoImltcG9ydFNjcmlwdHM6Li4vLi4v
Li4vc3RvcmFnZS93ZWJzcWwvIiArIHRlc3RGaWxlKTsKICAgICBkYXRhYmFzZVdvcmtlci5wb3N0
TWVzc2FnZSgicnVuVGVzdCIpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1tYWMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3RhdGVtZW50
LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNDkzOWFjZGRhYWVmNDdjNjQzMmJkNTZkYTMzNDQ4ZWVjY2FmN2RlZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1tYWMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3
OiBVbmNhdWdodCBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCi1UaGlzIHRl
c3QgY29uZmlybXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNr
IGlmIGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4
Y2VwdGlvbiwgcmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCi1QQVNT
IC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRo
ZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJh
bnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0
aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBl
cnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3Ig
Y2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2Fs
bGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJh
Y2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sg
d2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1j
cmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0
ZDBhN2UyYWE4MjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVW5jYXVnaHQgVHJhbnNhY3Rp
b25DYWxsYmFja0Vycm9yCi1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBw
YXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9y
YWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NkOWRjZmZmMDU5
OGI0Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxP
YmplY3Q+Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgotVGhp
cyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9r
ZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlv
biBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLVRlc3RpbmcgdHJhbnNhY3Rpb24g
ZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NF
U1MKLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFj
ayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJv
d2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VT
UwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJv
ciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwgVGVzdHMgYXJlIGNvbXBs
ZXRlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3Rv
cmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJy
b3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5MzlhY2RkYWFlZjQ3YzY0MzJi
ZDU2ZGEzMzQ0OGVlY2NhZjdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjc6
IFVuY2F1Z2h0IEV4Y2VwdGlvbiBpbiBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sKK1RoaXMgdGVz
dCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkgcm9sbGVkIGJhY2sg
aWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0aHJvd3MgYW4gZXhj
ZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2YWx1ZS4KK1BBU1Mg
LSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhl
IHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFu
c2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rp
b24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVy
cm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBj
YWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3
YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMg
aW52b2tlZC4KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2Vw
dGlvbi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1t
YWMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0ZDBhN2Uy
YWE4MjdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
bWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFVu
Y2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gs
IHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
Y2Q5ZGNmZmYwNTk4YjRjODk5NTJmM2JhMzU4ZmM3OGQzZmI4MGNmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmplY3Q+CitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FM
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRs
ZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sg
b24gZmFpbHVyZS4KK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJv
ciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3RpbmcgdHJhbnNhY3Rpb24g
ZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNT
CitUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9y
IGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2Fs
bGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFs
c2UgOiBTVUNDRVNTCitBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2Fs
bGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0
b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDkzOWFjZGRhYWVmNDdjNjQzMmJkNTZkYTMzNDQ4ZWVjY2FmN2Rl
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDY3OiBVbmNhdWdodCBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNh
bGxiYWNrCi1UaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0
ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJh
Y2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgcmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBh
bnkgdmFsdWUuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4K
LVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNT
IC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRo
ZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJh
bnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0
aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9u
IHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1
Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nl
c3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWFiMGU3MTAyY2Nm
MWY2Yjg2MjU3NjUxZGY0ZDBhN2UyYWE4MjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9y
YWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVW5j
YXVnaHQgVHJhbnNhY3Rpb25DYWxsYmFja0Vycm9yCi1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwg
dGhpcyB0ZXN0IGhhcyBwYXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9u
LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggM2NkOWRjZmZmMDU5OGI0Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2
MzogVW5jYXVnaHQgIzxPYmplY3Q+Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0
ICM8T2JqZWN0PgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQs
IHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLVRlc3Rp
bmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5p
bmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFu
ZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVu
dCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmlu
ZyB0cnVlIDogU1VDQ0VTUwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhj
ZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwg
VGVzdHMgYXJlIGNvbXBsZXRlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNx
bC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5Mzlh
Y2RkYWFlZjQ3YzY0MzJiZDU2ZGEzMzQ0OGVlY2NhZjdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50
LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNjc6IFVuY2F1Z2h0IEV4Y2VwdGlvbiBpbiBzdGF0ZW1lbnQgZXJyb3IgY2Fs
bGJhY2sKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRl
bHkgcm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFj
ayB0aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFu
eSB2YWx1ZS4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgor
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1Mg
LSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhl
IHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFu
c2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rp
b24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
c3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3Vj
Y2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2Vz
cyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhj
ZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWFiMGU3MTAyY2NmMWY2Yjg2
MjU3NjUxZGY0ZDBhN2UyYWE4MjdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4
Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTM6IFVuY2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0
IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zY2Q5ZGNmZmYwNTk4YjRjODk5NTJmM2JhMzU4ZmM3OGQzZmI4MGNmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3Jh
Z2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmplY3Q+CitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorVGhpcyB0ZXN0IGNv
bmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVj
dGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdh
eXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBt
aWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3Rp
bmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4g
ZmFsc2UgOiBTVUNDRVNTCitUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNl
cHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUworVGVzdGlu
ZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFj
ayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCitBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3F1b3RhLXRy
YWNraW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3Jh
Z2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4MjliZDhkOTFhOTk1N2YzMjVjMzgwYmQyOTAxOWNiODBkZTExNzIwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTQgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBx
dW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFz
IHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtp
dC9jaGFuZ2VzZXQvMjk5ODMuCi1UaGUgdGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNlcywgc2V0cyB0
aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4gdG8gNDBrLCB0aGVuIHRyaWVzIHRvIGluc2VydCAxN2sg
b2YgZGF0YSBpbnRvIHR3byBkYXRhYmFzZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFubmVkLCB0aGUg
c2Vjb25kIGluc2VydCBzaG91bGQgZmFpbCwgdGhlIFVJIERlbGVnYXRlIHNob3VsZCBiZSBpbmZv
cm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVvdGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0aGUgcXVvdGEg
Zm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRpbmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJkIHRpbWUgc2hv
dWxkIHN1Y2NlZWQgYWdhaW4uCi1BZGRpbmcgYSB0YWJsZQotSW5zZXJ0aW5nIHNvbWUgZGF0YQot
RG9uZSBhZGRpbmcgZGF0YQotQWRkaW5nIGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLUV4
cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmluZyBz
dG9yYWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhlIHVz
ZXIgZGVjbGluZWQgdG8gYWxsb3cgbW9yZSBzcGFjZQotRG9uZSBhZGRpbmcgZGF0YQotQWRkaW5n
IGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLVVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gdGhl
cmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRoZSBzdG9yYWdl
IHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxvdyBtb3JlIHNw
YWNlCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE2MjZiY2MzMjQyZDAxMDA5MjczMTM1M2M3
NmRjMmNmNGJlZWQ1Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1jb2Rl
cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzc6IFVuY2F1Z2h0IEV4Y2VwdGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24g
Y2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjk6IFVuY2F1Z2h0IENhbm5vdCBjYWxs
IHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCi1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNv
ZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCi1QQVNTOiBleHBlY3RlZCBh
bmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJy
b3IgY29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZ
TlRBWF9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCi1Q
QVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVj
dGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3Qg
ZXJyb3IgY29kZSBWRVJTSU9OX0VSUgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2lu
Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI5YmQ4ZDkxYTk5NTdmMzI1YzM4MGJkMjkwMTlj
YjgwZGUxMTcyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3N0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE0IEBACitUaGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5m
b3JjZWQgcGVyLW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHBy
aW9yIHRvIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8y
OTk4My4KK1RoZSB0ZXN0IGNsZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3Ig
dGhlIG9yaWdpbiB0byA0MGssIHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8g
dHdvIGRhdGFiYXNlcy4gSWYgdGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0
IHNob3VsZCBmYWlsLCB0aGUgVUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBl
eGNlZWRlZCBxdW90YSBhbmQgc2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmln
aW4uIEluc2VydGluZyAxN2sgb2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBh
Z2Fpbi4KK0FkZGluZyBhIHRhYmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBk
YXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEg
ZXhjZXB0aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2Us
IG9yIHRoZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0
byBhbGxvdyBtb3JlIHNwYWNlCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5z
ZXJ0aW5nIHNvbWUgZGF0YQorVW5leHBlY3RlZCBleGNlcHRpb24gLSB0aGVyZSB3YXMgbm90IGVu
b3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0b3JhZ2UgcXVvdGEgd2FzIHJl
YWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1vcmUgc3BhY2UKK1Rlc3QgQ29t
cGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFn
ZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWE2MjZiY2MzMjQyZDAxMDA5MjczMTM1M2M3NmRjMmNmNGJlZWQ1YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vi
c3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDM3OiBVbmNhdWdodCBFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0
aW9uIGNhbGxiYWNrLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY5OiBVbmNhdWdodCBDYW5ub3Qg
Y2FsbCB0b1N0cmluZygpIG9uIHRoaXMgb2JqZWN0LgorVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJv
ciBjb2RlcyByZXBvcnRlZCBpbiBleGNlcHRpb25hbCBzaXR1YXRpb25zLgorUEFTUzogZXhwZWN0
ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290
IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29k
ZSBTWU5UQVhfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VS
UgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQQVNTOiBl
eHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgUVVPVEFfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQg
Z290IGVycm9yIGNvZGUgVkVSU0lPTl9FUlIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGRiMDAyNmZiNzFjMTg3N2Zi
MjA4YmYyZjNlYTgwNTdiNzEzZTIwYjUuLmE2Mjk1ZDQ2MTQyODZkNjFhMTY0MDI2YzNjNjc3Zjhk
ZjUwNWU3YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKQEAgLTU3OSw3ICs1NzksNyBAQCBXT05URklYIFNLSVAgOiBwbHVn
aW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS5odG1sID0gRkFJTAogV09OVEZJWCBTS0lQIDogcGx1
Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUtMi5odG1sID0gVEVYVAogV09OVEZJWCBTS0lQIDog
c3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLWFmZmVjdHMt
c3RvcmFnZS5odG1sID0gRkFJTAogV09OVEZJWCBTS0lQIDogc3RvcmFnZS9kb21zdG9yYWdlL3Nl
c3Npb25zdG9yYWdlL3ByaXZhdGUtYnJvd3NpbmctYWZmZWN0cy1zdG9yYWdlLmh0bWwgPSBGQUlM
Ci1XT05URklYIFNLSVAgOiBzdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUu
aHRtbCA9IFBBU1MKK1dPTlRGSVggU0tJUCA6IHN0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Np
bmctbm9yZWFkLW5vd3JpdGUuaHRtbCA9IFBBU1MKIAogLy8gV2UgZG9uJ3QgbGV0IGFueW9uZSBz
ZXQgc3RhdHVzIGluIHRoZSBicm93c2VyLgogV09OVEZJWCBTS0lQIDogcGx1Z2lucy9zZXQtc3Rh
dHVzLmh0bWwgPSBURVhUCkBAIC0xMDkyLDcgKzEwOTIsNyBAQCBCVUdDUjMzMjExIFdJTiBERUJV
RyA6IGh0dHAvdGVzdHMvbG9hZGluZy9kZWxldGVkLWhvc3QtaW4tcmVzb3VyY2UtbG9hZC1kZWxl
Z2F0ZQogQlVHQ1IzMzIxMSBMSU5VWCBNQUMgOiBodHRwL3Rlc3RzL2xvYWRpbmcvZGVsZXRlZC1o
b3N0LWluLXJlc291cmNlLWxvYWQtZGVsZWdhdGUtY2FsbGJhY2suaHRtbCA9IFRJTUVPVVQKIAog
Ly8gSFRNTDUgREIgbGF5b3V0IHRlc3RzCi1CVUdDUjI3Njk3IFNLSVAgOiBzdG9yYWdlL2hhc2gt
Y2hhbmdlLXdpdGgteGhyLmh0bWwgPSBQQVNTCitCVUdDUjI3Njk3IFNLSVAgOiBzdG9yYWdlL3dl
YnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1sID0gUEFTUwogCiAvLyBJbXBsZW1lbnRhdGlv
biBvZiBEYXRlL3RpbWUgaW5wdXQgdHlwZXMgYXJlIGluY29tcGxldGUgYW5kCiAvLyBFTkFCTEVf
SU5QVVRfVFlQRV8qIGZsYWdzIGFyZSBub3QgZW5hYmxlZC4KQEAgLTE4NjUsNyArMTg2NSw3IEBA
IEJVR19KQVBIRVQgV0lOIDogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVz
dC01MG1zLWRvd25sb2FkLWRpc3BhdGNoCiAvLyBEdWUgdG8gdGhlIGRpZmZlcmVuY2VzIGluIGhh
bmRsaW5nIHRleHQgZW5jb2RpbmdzIGluIEtVUkwgYW5kIGdvb2dsZXVybC4KIEJVR1dLMjA1NTkg
OiBodHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWZyYW1lcy1nYmsuaHRtbCA9IFRFWFQKIAot
QlVHV0szNjY2NiA6IHN0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwgPSBURVhU
CitCVUdXSzM2NjY2IDogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0
bWwgPSBURVhUCiAKIEJVR1dLMzcyODMgOiBmYXN0L292ZXJmbG93L3Njcm9sbGJhci1yZXN0b3Jl
ZC1hbmQtdGhlbi1sb2NrZWQuaHRtbCA9IFRFWFQKIApAQCAtMjExMSw3ICsyMTExLDcgQEAgQlVH
V0s2MzA1NyBSRUxFQVNFIDogcGVyZi9hZGRpbmctcmFkaW8tYnV0dG9ucy5odG1sID0gTUlTU0lO
RyBGQUlMIFBBU1MKIC8vIEZhaWxpbmcgYWZ0ZXIgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvNjU2NjUvCiAKIC8vIG5ldyBvciBmYWlsaW5nIHNpbmNlIFdlYktpdCByZXYuIDY1NzQw
OjY1ODAwCi1CVUdDUjUzMDczIFNLSVAgREVCVUcgOiBzdG9yYWdlL2NoYW5nZS12ZXJzaW9uLmh0
bWwgPSBQQVNTIENSQVNICitCVUdDUjUzMDczIFNLSVAgREVCVUcgOiBzdG9yYWdlL3dlYnNxbC9j
aGFuZ2UtdmVyc2lvbi5odG1sID0gUEFTUyBDUkFTSAogCiAvLyByNjYxNDQgYWRkZWQgdGVzdHMg
dG8gdGVzdCB1c2VyIHNjcmlwdHMgb24gc3BlY2lhbCBkb2N1bWVudHMsIGFuZCBMaW51eCBjYW4n
dAogLy8gcGFzcyB0aGVtIGJlY2F1c2UgdGhleSByZWx5IG9uIFF1aWNrVGltZSBiZWluZyBpbnN0
YWxsZWQuIFdlIHdvbnRmaXggdGhlc2UKQEAgLTM1MDgsOSArMzUwOCw5IEBAIEJVR1dLODIxMjkg
TUFDIDogZmFzdC9ibG9jay9saW5lYm94Y29udGFpbi9nbHlwaHMuaHRtbCA9IFRFWFQKIAogQlVH
V0s4MjY2OSBMSU5VWCBXSU4gTEVPUEFSRCA6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3NwYWNl
cy1jb21iaW5lZC1pbi12ZXJ0aWNhbC10ZXh0Lmh0bWwgPSBURVhUCiAKLUJVR1dLODI3MTcgU05P
V0xFT1BBUkQgOiBzdG9yYWdlL3F1b3RhLXRyYWNraW5nLmh0bWwgPSBQQVNTIFRJTUVPVVQKLUJV
R1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9u
ZS1zdGF0ZW1lbnQuaHRtbCA9IFBBU1MgVElNRU9VVAotQlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6
IHN0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCA9IFBBU1MgVElNRU9VVAor
QlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6IHN0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLmh0
bWwgPSBQQVNTIFRJTUVPVVQKK0JVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL3dlYnNx
bC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwgPSBQQVNTIFRJTUVP
VVQKK0JVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL3dlYnNxbC9kYXRhYmFzZS1sb2Nr
LWFmdGVyLXJlbG9hZC5odG1sID0gUEFTUyBUSU1FT1VUCiAKIC8vIFRoZXNlIHRlc3RzIGRlcGVu
ZHMgb24gV29ya2VyIGJlaGF2aW9yIHRoYXQgaXMgYnJva2VuIGluIERSVAogQlVHV0s4Mjc3NiBT
S0lQIDogc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC5odG1sID0gUEFT
UyBGQUlMCkBAIC0zNjcyLDggKzM2NzIsOCBAQCBCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVB
U0UgOiBodHRwL3Rlc3RzL2xvYWRpbmcvMzA3LWFmdGVyLTMwMy1hZnRlci1wb3N0Lmh0bQogQlVH
V0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogaHR0cC90ZXN0cy9taXNjL29iamVjdC1lbWJl
ZGRpbmctc3ZnLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi54aHRtbCA9IFRJTUVPVVQgUEFTUwog
QlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogcGxhdGZvcm0vY2hyb21pdW0vdmlydHVh
bC9ncHUvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC50ZXh0LWN1c3RvbS1mb250LWxvYWQtY3Jhc2gu
aHRtbCA9IFRJTUVPVVQgUEFTUwogQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguZ3JhZGllbnQuaHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVP
UEFSRCBSRUxFQVNFIDogc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1y
dW4tdG9nZXRoZXIuaHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBS
RUxFQVNFIDogc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5o
dG1sID0gVElNRU9VVCBQQVNTCitCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVBU0UgOiBzdG9y
YWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIu
aHRtbCA9IFRJTUVPVVQgUEFTUworQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogc3Rv
cmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbCA9
IFRJTUVPVVQgUEFTUwogCiAvLyBicm9rZW4gaW4vYWZ0ZXIgcjExNTY0NgogQlVHV0s4NjQxNCA6
IGZhc3QvbG9hZGVyL2phdmFzY3JpcHQtdXJsLWluLWVtYmVkLmh0bWwgPSBURVhUCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCAxMmEzZjUx
OTM1M2I1Y2NhNTJlMTIwOWJhYzgxOWIyYzQ0NDNkYWU1Li42NjFmMWU0OTVhM2Q4NDllNzVjMGY4
ZjUyZDYzNmM1ODVkNDRhZDg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
dGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKQEAgLTY5OSwxMiArNjk5LDEyIEBAIEJVR1dLMjc5MDUgOiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVkaXJlY3QtbWV0aG9kcy5odG1sID0gRkFJTAogCiAvLyBOZXcgdGVz
dCBpbmZyYXN0cnVjdHVyZSByZXF1aXJlZCAtLSBuZWVkIGlzb2xhdGVkIHdvcmxkcwogQlVHV0sz
MTUwOCA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZCA9IEZBSUwKLUJVR1dLMzE1
MDggOiBzdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQuaHRtbCA9IEZBSUwKLUJVR1dLMzE1MDggOiBzdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0szMTUwOCA6IHN0b3JhZ2Uvc3Rh
dGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKLUJVR1dL
MzE1MDggOiBzdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwg
PSBGQUlMCi1CVUdXSzMxNTA4IDogc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0szMTUwOCA6IHN0b3JhZ2UvdHJhbnNhY3Rp
b24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAorQlVHV0szMTUw
OCA6IHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLMzE1MDggOiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLMzE1MDgg
OiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sID0gRkFJTAorQlVHV0szMTUwOCA6IHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCitCVUdXSzMxNTA4IDogc3RvcmFnZS93
ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZB
SUwKK0JVR1dLMzE1MDggOiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCiAKIEJVR1dLMzA1NzcgOiBlZGl0aW5nL3Nl
bGVjdGlvbi9tb3ZlLWxlZnQtcmlnaHQuaHRtbCA9IEZBSUwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzkzOWUzNjUwYzU1NzNmYjlmOGRkMDc2ZWRjMjE5MmY5ODdmNzFlZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIEpTIGRhdGFiYXNlLmNoYW5nZVZlcnNp
b24oKSBmdW5jdGlvbiB3b3JrcyBhcyBleHBlY3RlZC4KLUZpbmlzaGVkIHRlc3RzIHdpdGggdmVy
c2lvbiAzOyBleHBlY3RlZCB2ZXJzaW9uOiAzCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y3NjQ4MWIzNGVjMjg1
NjFkZTAyNzIzNGM1OTdmOWU0Zjg5YTE1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRs
ZS1yZXVzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRoaXMg
dGVzdHMgdGhhdCBhIGRhdGFiYXNlIGNhbiBiZSBhY2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBpdHMg
dmVyc2lvbi4gWW91IHNob3VsZCBzZWUgYW4gZXJyb3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJlbG93
LCBub3QgYWJvdXQgbWlzbWF0Y2hpbmcgdmVyc2lvbnMuCi1jaGFuZ2VWZXJzaW9uOiB0cmFuc2Fj
dGlvbiBjYWxsYmFjawotY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjawotdHJhbnNhY3Rp
b246IHN0YXRlbWVudCBlcnJvciBjYWxsYmFjazogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgxIG5vIHN1Y2ggdGFibGU6IEZvb0JhcikKLVRFU1QgQ09NUExFVEUuCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjNmYmY0ODRkN2E4NWEzNDkwYjUxNWI3MDg5NTQ0
YWVlMDg2ZmExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4gCi08aGVhZD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJj
aGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMiPjwvc2NyaXB0PgotPC9oZWFkPiAKLTxib2R5
IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCkiPiAKLTxkaXY+VGhpcyB0ZXN0cyB0aGF0IGEgZGF0
YWJhc2UgY2FuIGJlIGFjY2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hv
dWxkIHNlZSBhbiBlcnJvciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNt
YXRjaGluZyB2ZXJzaW9ucy4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlk
bid0IHJ1bi4KLTwvcHJlPiAKLTwvYm9keT4gCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4NDdhNThjM2I5MWZmMmM1MDgwZjJjOTIwYTVkNDFhYmNiNWNlMmEyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsNDYgKzAsMCBAQAotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgbG9nKCJURVNUIENP
TVBMRVRFLiIpOwotCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5U
ZXN0KCkKLXsKLSAgICB0cnkgewotICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgo
IkNoYW5nZVZlcnNpb24iLCAiIiwgIlRlc3QgdGhhdCBjaGFuZ2luZyBhIGRhdGFiYXNlIHZlcnNp
b24gZG9lc24ndCBraWxsIG91ciBoYW5kbGUgdG8gaXQiLCAxKTsKLSAgICAgICAgdmFyIHZlcnNp
b24gPSBkYi52ZXJzaW9uOwotICAgICAgICB2YXIgbmV3VmVyc2lvbiA9IHZlcnNpb24gPyAocGFy
c2VJbnQodmVyc2lvbikgKyAxKS50b1N0cmluZygpIDogIjEiOyAKLSAgICAgICAgZGIuY2hhbmdl
VmVyc2lvbih2ZXJzaW9uLCBuZXdWZXJzaW9uLCBmdW5jdGlvbih0eCkgewotICAgICAgICAgICAg
bG9nKCJjaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlvbiBjYWxsYmFjayIpOwotICAgICAgICB9LCBm
dW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBlcnJvciBj
YWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjayIpOwotICAgICAg
ICAgICAgcnVuVGVzdDIoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIAotICAgIH0gY2F0Y2ggKGUp
IHsKLSAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uIGV4Y2VwdGlvbjogIiArIGUpOwotICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotIAotZnVuY3Rpb24gcnVuVGVzdDIoKQotewotICAg
IHRyeSB7Ci0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAg
ICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBmcm9tIEZvb0JhciIsIFtdLCBmdW5jdGlvbih0eCkg
ewotICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBjYWxsYmFjayIp
OwotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIH0sIGZ1bmN0aW9u
KHR4LCBlcnJvcikgewotICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVu
dCBlcnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9IGNhdGNoIChl
KSB7Ci0gICAgICAgIGxvZygidHJhbnNhY3Rpb24gZXhjZXB0aW9uOiAiICsgZSk7Ci0gICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxp
Z2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
YjBkNTQ5Y2IwY2Q0N2RmYTg2NjFlNmU2YzU5ODkwNDNiOTljMzMxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdl
LXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBubyBhc3Nl
cnRpb24gaXMgdHJpZ2dlcmVkIHdoZW4gY2hhbmdlVmVyc2lvbigpJ3MgcHJlZmxpZ2h0IHN0ZXAg
ZmFpbHMuCi1QQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBhbmQg
bm8gYXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGln
aHQtZmFpbHVyZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTUxMmZiOWFj
OTFkZmI0ZGEyYzhmMmU4MzZkYmM1MDg3NjU5MTIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24t
bm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmluaXNoVGVzdCgp
Ci17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkK
LXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBt
ZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIH0KLQotICAgIHZhciBkYiA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoIkNoYW5nZVZlcnNp
b25GYWlsdXJlVGVzdCIsICIxIiwgIlRlc3QgdGhlIHByZWZsaWdodCBzdGVwIiwgMTAyNCk7Ci0g
ICAgZGIuY2hhbmdlVmVyc2lvbigiMiIsICIzIiwgbnVsbCwgZnVuY3Rpb24oZXJyb3IpIHsKLSAg
ICAgICAgbG9nKCJQQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBh
bmQgbm8gYXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4iKTsKLSAgICAgICAgZmluaXNoVGVzdCgp
OwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBsb2coIkZBSUw6IGRiLmNoYW5nZVZlcnNp
b24oKSB3YXMgZXhwZWN0ZWQgdG8gZmFpbC4iKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwotICAg
IH0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgot
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgbm8gYXNzZXJ0aW9uIGlzIHRyaWdnZXJlZCB3aGVuIGNo
YW5nZVZlcnNpb24oKSdzIHByZWZsaWdodCBzdGVwIGZhaWxzLgotPHByZSBpZD0iY29uc29sZSI+
PC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2NoYW5nZS12ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9u
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5YmI5ZGY1ODhiOTRjZGRjMDNi
MmY3OWFjOWFhNGYwNjY0NmI5NWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+VGVzdCBk
YXRhYmFzZS5jaGFuZ2VWZXJzaW9uPC90aXRsZT4KLTxzY3JpcHQ+Ci12YXIgZGIxOwotdmFyIEVY
UEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCA9ICcyJzsKLXZhciBFWFBFQ1RFRF9WRVJT
SU9OX0FGVEVSX1JFTE9BRCA9ICczJzsKLQotZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsgfQot
Ci1mdW5jdGlvbiBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2sodHgpCi17Ci0gICAgdHguZXhlY3V0ZVNx
bCgiRFJPUCB0YWJsZSBpZiBleGlzdHMgaW5mbzsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlG
dW5jdGlvbik7Ci0gICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIHRhYmxlIGlmIG5vdCBleGlzdHMg
aW5mbyAodmVyc2lvbiBJTlRFR0VSKTsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlv
bik7Ci0gICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIGludG8gaW5mbyB2YWx1ZXMoPyk7IiwgW0VY
UEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlv
bik7Ci19Ci0KLWZ1bmN0aW9uIGNoYW5nZVZlcnNpb25TdWNjZXNzKCkKLXsKLSAgICBsb2coIlN1
Y2Nlc3NmdWxseSBjaGFuZ2VkIHZlcnNpb24gdG8gIiArIGRiMS52ZXJzaW9uICsgIi4gUmVsb2Fk
aW5nLiIpOwotICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsgJz8y
JzsKLX0KLQotZnVuY3Rpb24gY2hhbmdlVmVyc2lvbkVycm9yKGVycm9yKQotewotICAgIGxvZygi
RXJyb3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0
aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICBsb2coIlRF
U1QgQ09NUExFVEUiKTsKLX0KLQotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7
Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2Vh
cmNoID09ICI/MiIpIHsKLSAgICAgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdl
dmVyc2lvbi10ZXN0IiwgIiIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigp
IGZ1bmN0aW9uIiwgMTAyNCk7Ci0gICAgICAgIGxvZygiRmluaXNoZWQgdGVzdHMgd2l0aCB2ZXJz
aW9uICIgKyBkYjEudmVyc2lvbiArICI7IGV4cGVjdGVkIHZlcnNpb246ICIgKyBFWFBFQ1RFRF9W
RVJTSU9OX0FGVEVSX1JFTE9BRCk7Ci0KLSAgICAgICAgLy8gUmVzZXQgdGhlIERCIHZlcnNpb24g
b3IgdGhlIG5leHQgcnVuIG1pZ2h0IGZhaWwuCi0gICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKGRi
MS52ZXJzaW9uLCAiMSIpOwotCi0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UKLSAg
ICAgICAgdGVzdFBhcnQxKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RQYXJ0MSgpIHsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIH0KLQotICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNpb24t
dGVzdCIsICIxIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rp
b24iLCAxMDI0KTsKLSAgICB2YXIgZGIyID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVy
c2lvbi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBm
dW5jdGlvbiIsIDEwMjQpOwotCi0gICAgLy8gRmlyc3QgcnVuIEhpeGllJ3MgdGVzdCB0byBlbnN1
cmUgYmFzaWMgY2hhbmdlVmVyc2lvbiBmdW5jdGlvbmFsaXR5IHdvcmtzIChzZWUgYnVnIDI4NDE4
KS4KLSAgICBkYjEuY2hhbmdlVmVyc2lvbigiMSIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElY
SUVfVEVTVCwgbnVsbCwgZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgbG9nKCJGQUlMIGluIGNoYW5n
ZVZlcnNpb246IiArIGUpOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24g
KCkgewotICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZlcnNpb24gY2hhbmdlIGhhcyBwcm9wYWdh
dGVkIHRvIGRiMiB0b28uCi0gICAgICAgIC8vIEFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNob3Vs
ZCBmYWlsLgotICAgICAgICBpZiAoZGIyLnZlcnNpb24gIT0gZGIxLnZlcnNpb24pIHsKLSAgICAg
ICAgICAgIGxvZygiRkFJTDogY2hhbmdpbmcgZGIxJ3MgdmVyc2lvbiAoIiArIGRiMS52ZXJzaW9u
ICsgIikgZGlkIG5vdCBjaGFuZ2UgZGIyJ3MgdmVyc2lvbiAoIiArIGRiMi52ZXJzaW9uICsgIikg
YXMgZXhwZWN0ZWQuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLSAg
ICAgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKLSAgICAg
ICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBsb2co
IkZBSUw6IFRoZSBEQiB2ZXJzaW9uIGNoYW5nZWQsIGFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNo
b3VsZCBmYWlsLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9KTsKLQot
ICAgICAgICAvLyBNYWtlIHN1cmUgYW55IG5ldyBoYW5kbGUgdG8gdGhlIHNhbWUgREIgc2VlcyB0
aGUgbmV3IHZlcnNpb24KLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHZhciBkYjMgPSBvcGVu
RGF0YWJhc2UoImNoYW5nZS12ZXJzaW9uLXRlc3QiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX0hJ
WElFX1RFU1QsICIiLCAwKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgbG9n
KCJGQUlMIGluIG9wZW5EYXRhYmFzZTogIiArIGUpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgp
OwotICAgICAgICB9Ci0gICAgICAgIGlmIChkYjEudmVyc2lvbiAhPSBkYjMudmVyc2lvbikgewot
ICAgICAgICAgICAgbG9nKCJGQUlMOiBkYi52ZXJzaW9uKCIgKyBkYjEudmVyc2lvbiArICIpIGRv
ZXMgbm90IG1hdGNoIGRiMy52ZXJzaW9uKCIgKyBkYjMudmVyc2lvbiArIikiKTsKLSAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIE5vdyB0cnkgYSB0ZXN0
IHRvIGVuc3VyZSB0aGUgdmVyc2lvbiBwZXJzaXN0cyBhZnRlciByZWxvYWRpbmcgKHNlZSBidWcg
Mjc4MzYpCi0gICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKEVYUEVDVEVEX1ZFUlNJT05fQUZURVJf
SElYSUVfVEVTVCwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQUQsIGNoYW5nZVZlcnNpb25D
YWxsYmFjaywgY2hhbmdlVmVyc2lvbkVycm9yLCBjaGFuZ2VWZXJzaW9uU3VjY2Vzcyk7Ci0gICAg
fSk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Ci1U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1
bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgotPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmlu
Zy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1
cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDJhYWQ5MGMxNjI5ZTUwYjBlNjA1MmNmOGI2ZTQ3ZTEzZTEwMWMwMjIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9j
bG9zZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NSArMCwwIEBACi1TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJl
LgotCi1BIEphdmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwgaG93
ZXZlciwgYXMgdGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBmcmFt
ZS4gSXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJhc2UgYWN0aXZpdHkgYnkgdGhyb3dp
bmcgYW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWNjNTJmZDk1NTBkOTllNDRhYjg2MzBmYzY3MDJlZDk0Mjg4NTdlMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTkgKzAsMCBAQAotPGJvZHk+Ci08cD5TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFzc2Vy
dGlvbiBmYWlsdXJlLjwvcD4KLTxwPkEgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25zb2xl
IGlzIGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVkIHdo
ZW4gY2xvc2luZyBhIGZyYW1lLgotSXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJhc2Ug
YWN0aXZpdHkgYnkgdGhyb3dpbmcgYW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay48L3A+Ci08
c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0VGVzdCgpCi17Ci0gICAgc2V0VGltZW91
dCgiZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdLnNyYyA9ICdhYm91
dDpibGFuayciLCAxMDApOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIsIDUw
MCk7Ci19Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0
bWwiIG9ubG9hZD0ic3RhcnRUZXN0KCkiPjwvaWZyYW1lPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjcyOTU2M2FiODA4Y2IzZGJl
ZDc3MjUyZTdlNDAyMTJiNTBjZDMyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVs
b2FkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotSW5zZXJ0aW5n
IHNvbWUgZGF0YQotVGVzdCBwYXJ0IDIgQ29tcGxldGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1YjU5ODlmNzgwMjU3Y2ZkM2JhNDk5OTU4NWU0ZTU3NjUyMTJiMTUwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9nKG1l
c3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhU
TUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0g
ICAgbG9nKCJUZXN0IHBhcnQgMSBDb21wbGV0ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
LX0KLQotZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKLXsKLSAgICBsb2coIlRlc3QgZmFp
bGVkIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlzaFRlc3QoKTsKLX0KLQotZnVuY3Rp
b24gYWRkRGF0YShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAg
ICAgICBsb2coIkluc2VydGluZyBzb21lIGRhdGEiKTsKLSAgICAgICAgLy8gTG9hZCBhIG5ldyBw
YWdlIHdoaWxlIHRoZSB0cmFuc2FjdGlvbiBpcyBzdGlsbCBpbiBwcm9ncmVzcywgaW50ZXJydXB0
aW5nIHRoZSB0cmFuc2FjdGlvbi4KLSAgICAgICAgLy8gVGhpcyBzaG91bGQgbm90IGxlYXZlIHRo
ZSBkYXRhYmFzZSBsb2NrZWQgYW5kIG9uIHRoZSBuZXh0IHBhZ2Ugd2Ugc2hvdWxkIGJlIGFibGUg
dG8gaW5zZXJ0Ci0gICAgICAgIC8vIHNvbWUgbW9yZSBkYXRhLgotICAgICAgICB0eC5leGVjdXRl
U3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0IoNTI0
MjAwKSkiLCBbXSwKLSAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgbG9jYXRpb24u
aHJlZiA9ICIuL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwiOyB9
LAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVycm9yRnVuY3Rpb24oZXJyb3Ip
OyB9KTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHRlc3RE
YXRhKSBWQUxVRVMgKFpFUk9CTE9CKDUyNDIwMCkpIik7Ci0gICAgfSwgZXJyb3JGdW5jdGlvbiwg
ZnVuY3Rpb24oKSB7IGZpbmlzaFRlc3QoKTsgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQot
ewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7Ci0gICAgfQotCi0gICAgdmFyIGRhdGFiYXNlOwotICAgIHRyeSB7Ci0gICAg
ICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUxvY2tUZXN0IiwgIjEuMCIsICJU
ZXN0IGZvciBkYXRhYmFzZSBsb2NraW5nIiwgNTI0Mjg4MCk7Ci0gICAgfSBjYXRjaCAoZSkgewot
ICAgICAgICBsb2coIkVycm9yIC0gY291bGQgbm90IG9wZW4gZGF0YWJhc2UiKTsKLSAgICAgICAg
ZmluaXNoVGVzdCgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7Ci0gICAgICAgIGxvZygiQWRkaW5nIGEgdGFibGUiKTsKLSAgICAgICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0ICh0ZXN0RGF0YSkiLCBbXSwgZnVuY3Rpb24odHgs
IHJlc3VsdCkgeyB9LAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVycm9yRnVu
Y3Rpb24oZXJyb3IpOyB9KTsKLSAgICB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgYWRk
RGF0YShkYXRhYmFzZSk7IH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGQ5ZGNhNGUyNzM1MzRkYjNk
ODMzYjY5OTk1MGRjYjE1MTg0YWJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotRXhlY3V0ZWQgYW4gZW1wdHkgc3Rh
dGVtZW50LiBJZiB5b3UgZGlkbid0IHNlZSBhIGNyYXNoIG9yIGFzc2VydGlvbiwgdGhlIHRlc3Qg
cGFzc2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZlYzViOGNhYzVlNGE1ODI2MDg3NmJiNTM5ZmI4YmFi
NjA0Y2Y0OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVudC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzYgKzAsMCBAQAotPGh0bWw+Ci0KLTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24gd3Jp
dGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gZXhl
Y3V0ZUVtcHR5U3RhdGVtZW50KHRyYW5zYWN0aW9uKQotewotICAgIHRyYW5zYWN0aW9uLmV4ZWN1
dGVTcWwoIiIpOwotICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJFeGVjdXRlZCBhbiBlbXB0eSBzdGF0
ZW1lbnQuIElmIHlvdSBkaWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0aGUgdGVzdCBw
YXNzZWQuIik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0
KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2Uo
IkVtcHR5U3RhdGVtZW50VGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIGFuIGVtcHR5IHN0YXRl
bWVudCB0ZXN0IiwgMSk7Ci0gICAgZGIudHJhbnNhY3Rpb24oZXhlY3V0ZUVtcHR5U3RhdGVtZW50
KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGUzMGI0YmRkNmNmZGJmMmQ5MjAzOWQ1NWEyOWU5MzY3YzYy
ZDFhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMjkgKzAsMCBAQAotUEFTUy4gZXhlY3V0ZVNxbChudWxsKSBkaWQgbm90IHRocm93
IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCh1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cg
YW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKDApIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0
aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFT
Uy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1Mu
IGV4ZWN1dGVTcWwoIiIsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBB
U1MuIGV4ZWN1dGVTcWwoIiIsIFtdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4g
ZXhlY3V0ZVNxbCgiIiwgWyAiYXJnMCIgXSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBB
U1MuIGV4ZWN1dGVTcWwoIiIsIHsgfSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1Mu
IGV4ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAwIH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
Ci1QQVNTLiBleGVjdXRlU3FsKCIiLCB7IGxlbmd0aDogMSwgMDogImFyZzAiIH0pIGRpZCBub3Qg
dGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsKSBkaWQg
bm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgdW5kZWZp
bmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVs
bCwgeyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwg
bnVsbCwgbnVsbCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1
dGVTcWwoIiIsIG51bGwsIG51bGwsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsIHsgfSkgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhw
ZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKHRocm93T25Ub1N0cmluZ09iamVjdCkgdGhyZXcgYW4g
ZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgdGhyb3dPbkdldExl
bmd0aE9iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0
ZVNxbCgiIiwgdGhyb3dPbkdldFplcm9PYmplY3QpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBl
Y3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIFsgdGhyb3dPblRvU3RyaW5nT2JqZWN0IF0pIHRo
cmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIDApIHRo
cmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsICIiKSB0
aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxs
LCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIi
LCBudWxsLCAiIikgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0
ZVNxbCgiIiwgbnVsbCwgbnVsbCwgMCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgot
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgIiIpIHRocmV3IGFuIGV4Y2VwdGlvbiBh
cyBleHBlY3RlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNx
bC1hcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjlmMmE0M2FiYWEzNjdjZDk1Y2IwMjY4Yzlm
NzRjOTg2YTk5YzVjYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDEzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZXhlY3V0ZS1z
cWwtYXJncy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRS
dW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVu
LgotPC9wcmU+IAotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUt
c3FsLWFyZ3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiOTQxNGRiM2NhM2M4
MDUwNjFiZGFjNmFjNmM4ZmI3ZDdmYzkwMmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotdmFyIHRocm93T25Ub1N0cmluZ09iamVj
dCA9IHsgfTsKLXRocm93T25Ub1N0cmluZ09iamVjdC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsg
dGhyb3cgIkNhbm5vdCBjYWxsIHRvU3RyaW5nIG9uIHRoaXMgb2JqZWN0LiIgfTsKLQotdmFyIHRo
cm93T25HZXRMZW5ndGhPYmplY3QgPSB7IH07Ci10aHJvd09uR2V0TGVuZ3RoT2JqZWN0Ll9fZGVm
aW5lR2V0dGVyX18oImxlbmd0aCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgbGVu
Z3RoIG9mIHRoaXMgb2JqZWN0LiI7IH0pOwotCi12YXIgdGhyb3dPbkdldFplcm9PYmplY3QgPSB7
IGxlbmd0aDogMSB9OwotdGhyb3dPbkdldFplcm9PYmplY3QuX19kZWZpbmVHZXR0ZXJfXygiMCIs
IGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgMCBwcm9wZXJ0eSBvZiB0aGlzIG9iamVj
dC4iOyB9KTsKLQotdmFyIGV4cGVjdE5vRXhjZXB0aW9uID0gWwotICAgICdudWxsJywKLSAgICAn
dW5kZWZpbmVkJywKLSAgICAnMCcsCi0gICAgJyIiJywKLSAgICAnIiIsIG51bGwnLAotICAgICci
IiwgdW5kZWZpbmVkJywKLSAgICAnIiIsIFtdJywKLSAgICAnIiIsIFsgImFyZzAiIF0nLAotICAg
ICciIiwgeyB9JywKLSAgICAnIiIsIHsgbGVuZ3RoOiAwIH0nLAotICAgICciIiwgeyBsZW5ndGg6
IDEsIDA6ICJhcmcwIiB9JywKLSAgICAnIiIsIG51bGwsIG51bGwnLAotICAgICciIiwgbnVsbCwg
dW5kZWZpbmVkJywKLSAgICAnIiIsIG51bGwsIHsgfScsCi0gICAgJyIiLCBudWxsLCBudWxsLCBu
dWxsJywKLSAgICAnIiIsIG51bGwsIG51bGwsIHVuZGVmaW5lZCcsCi0gICAgJyIiLCBudWxsLCBu
dWxsLCB7IH0nLAotXTsKLQotdmFyIGV4cGVjdEV4Y2VwdGlvbiA9IFsKLSAgICAnJywKLSAgICAn
dGhyb3dPblRvU3RyaW5nT2JqZWN0JywKLSAgICAnIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3Qn
LAotICAgICciIiwgdGhyb3dPbkdldFplcm9PYmplY3QnLAotICAgICciIiwgWyB0aHJvd09uVG9T
dHJpbmdPYmplY3QgXScsCi0gICAgJyIiLCAwJywKLSAgICAnIiIsICIiJywKLSAgICAnIiIsIG51
bGwsIDAnLAotICAgICciIiwgbnVsbCwgIiInLAotICAgICciIiwgbnVsbCwgbnVsbCwgMCcsCi0g
ICAgJyIiLCBudWxsLCBudWxsLCAiIicsCi1dOwotCi1mdW5jdGlvbiB0cnlFeGVjdXRlU3FsKHRy
YW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KQotewotICAgIHRyeSB7Ci0gICAgICAgIGV2YWwoJ3Ry
YW5zYWN0aW9uLmV4ZWN1dGVTcWwoJyArIHBhcmFtZXRlckxpc3QgKyAnKScpOwotICAgICAgICBy
ZXR1cm4gbnVsbDsKLSAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKLSAgICAgICAgcmV0dXJuIGV4
Y2VwdGlvbjsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2Fj
dGlvbiwgcGFyYW1ldGVyTGlzdCwgZXhwZWN0RXhjZXB0aW9uKQotewotICAgIHZhciBleGNlcHRp
b24gPSB0cnlFeGVjdXRlU3FsKHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KTsKLSAgICBpZiAo
ZXhwZWN0RXhjZXB0aW9uKSB7Ci0gICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAgICBs
b2coIlBBU1MuIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNl
cHRpb24gYXMgZXhwZWN0ZWQuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiKkZB
SUwqLiBleGVjdXRlU3FsKCIgKyBwYXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24iKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAg
ICAgICAgbG9nKCIqRkFJTCouIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJl
dyBhbiBleGNlcHRpb246ICIgKyBleGNlcHRpb24pOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBsb2coIlBBU1MuIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbiIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25U
ZXN0cyh0cmFuc2FjdGlvbikKLXsKLSAgICBmb3IgKGkgaW4gZXhwZWN0Tm9FeGNlcHRpb24pCi0g
ICAgICAgIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0Tm9FeGNlcHRpb25b
aV0sIGZhbHNlKTsKLSAgICBmb3IgKGkgaW4gZXhwZWN0RXhjZXB0aW9uKQotICAgICAgICBydW5U
cmFuc2FjdGlvblRlc3QodHJhbnNhY3Rpb24sIGV4cGVjdEV4Y2VwdGlvbltpXSwgdHJ1ZSk7Ci0K
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotCi0g
ICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiRXhlY3V0ZVNRTEFyZ3NUZXN0Iiwg
IjEuMCIsICJUZXN0IG9mIGhhbmRsaW5nIG9mIHRoZSBhcmd1bWVudHMgdG8gU1FMVHJhbnNhY3Rp
b24uZXhlY3V0ZVNxbCIsIDEpOwotICAgIGRiLnRyYW5zYWN0aW9uKHJ1blRyYW5zYWN0aW9uVGVz
dHMpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2Vw
dHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5NWNlZWU4Yzg4M2FkZTE0M2VhOTZhMTUyMzU3ZDA2
NzU5YTlmYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0IHRl
c3RzIHRoYXQgZXhlY3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVkIHdpdGggYSBzdHJpbmcgdGhh
dCBoYXMgbW9yZSB0aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4gaXQuCi1UZXN0IHBhc3NlZC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25s
eS1vbmUtc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNj
ZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYTM4NjBjODk5MjVmMmZjZGIxMDYzNmZlN2M2MjNhYzgzYjEzNjAyYS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4
ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDc4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi12YXIgVE9UQUxfU1RB
VEVNRU5UUyA9IDg7Ci12YXIgc3RhdGVtZW50cyA9IDA7Ci12YXIgZGIgPSBudWxsOwotCi1mdW5j
dGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCArPSBtZXNz
YWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCi17Ci0gICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlU3RhdGVtZW50KGV4cGVjdGVkVG9Q
YXNzLCBzdGF0ZW1lbnQpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAg
ICAgICAgdHguZXhlY3V0ZVNxbChzdGF0ZW1lbnQsIFtdLAotICAgICAgICAgICAgZnVuY3Rpb24o
dHgsIGRhdGEpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWV4cGVjdGVkVG9QYXNzKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGxvZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBl
Y3RlZCB0byBmYWlsLCBidXQgcGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgrK3N0YXRl
bWVudHMgPT0gVE9UQUxfU1RBVEVNRU5UUykgewotICAgICAgICAgICAgICAgICAgICBsb2coIlRl
c3QgcGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKGV4cGVjdGVkVG9QYXNzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxv
ZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBlY3RlZCB0byBwYXNzLCBidXQg
ZmFpbGVkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgrK3N0YXRlbWVudHMgPT0gVE9UQUxfU1RB
VEVNRU5UUykgewotICAgICAgICAgICAgICAgICAgICBsb2coIlRlc3QgcGFzc2VkLiIpOwotICAg
ICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7Ci0gICAgfQotCi0gICAgZGIgPSBvcGVuRGF0YWJhc2UoIkV4ZWN1dGVTUUxBY2NlcHRzT25s
eU9uZVN0YXRlbWVudFRlc3QiLCAiMS4wIiwgIiIsIDEpOwotICAgIGRiLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1Qg
RVhJU1RTIFRlc3QgKEZvbyBJTlQpIik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAg
ICAgbG9nKCJUZXN0IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQo
dHJ1ZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgxKSIpOwotICAgICAgICBleGVjdXRlU3Rh
dGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMik7Iik7Ci0gICAgICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgzKSAgICAi
KTsKLSAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiICAgSU5TRVJUIElOVE8gVGVzdCBW
QUxVRVMgKDQpOyAgICIpOwotICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoNSkgICA7Iik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFs
c2UsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoNik7IGdhcmJhZ2UiKTsKLSAgICAgICAgZXhl
Y3V0ZVN0YXRlbWVudChmYWxzZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg3KTsgSU5TRVJU
IElOVE8gVGVzdCBWQUxVRVMgKDgpIik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2Us
ICIgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg5KTsgICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVF
UyAoMTApOyAgICIpOwotICAgIH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCBleGVjdXRlU3FsKCkgZmFp
bHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlk
IHN0YXRlbWVudCBpbiBpdC48YnI+Ci08L2JvZHk+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTk2NGU2Mzc1YmQzYTMxYmFiODhiNzI1
NWI4ZjU0MDcyNGNjY2VjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1DaGFuZ2luZyB0aGUgaGFzaCB0byBj
cmVhdGUgaGlzdG9yeSBlbnRyaWVzLgotRGIgaXMgd2FybWVkIHVwCi1UZXN0IENvbXBsZXRlLCBT
VUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0
aC14aHIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg0MzIwZjBmMTljNzhjNGZjYzhjNmY4
NTQyMGJlOGNmNTZiMzM5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4gCi08aGVhZD4gCi08dGl0bGU+SGFz
aCBDaGFuZ2Ugd2l0aCBhbiBPcGVuIFhIUiBzaG91bGQgbm90IHN0b3AgZGF0YWJhc2UgdHJhbnNh
Y3Rpb25zPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoYXNoLWNoYW5nZS13aXRoLXhoci5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+IAotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKSI+IAotPHByZSBp
ZD0iY29uc29sZSI+Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4KLTwvYm9keT4g
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdp
dGgteGhyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRoLXhoci5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y1NmY3OTVhMTgyZTFhODFkYWZiNjQwMGVj
ODNjOGMzMGMwZDVmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLXZhciBEQl9VUERBVEVfSU5URVJWQUwgPSAxMDA7Ci12
YXIgU0VORF9YSFJfSU5URVJWQUwgPSAxMDA7Ci12YXIgQkFDS19JTlRFUlZBTCA9IDEwMDsKLXZh
ciBDUkVBVEVfSEVBTFRIX1RBQkxFID0gJ0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGhlYWx0
aCAoa2V5IFZBUkNIQVIoMTYpIFBSSU1BUlkgS0VZKTsnOwotdmFyIFVQREFURV9EQVRBID0gJ1JF
UExBQ0UgSU5UTyBoZWFsdGggVkFMVUVTKCJoZWFsdGgtY2hlY2sta2V5Iik7JzsKLSAKLXZhciBk
YiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoJ2J1ZzI1NzEwJywgJzEuMCcsICdMYXlvdXRUZXN0
IGZvciBidWcgMjU3MTAnLCAxMDI0MDApOwotdmFyIGJhY2tJdGVyYXRpb25zOwotdmFyIHhockZj
dEludGVydmFsSWQ7Ci12YXIgYmFja0ZjdEludGVydmFsSWQ7Ci12YXIgc3VjY2Vzc0NoZWNrSW50
ZXJ2YWxJZDsKLXZhciBkYkZjdEludGVydmFsSWQ7Ci12YXIgc3VjY2Vzc2VzOwotdmFyIGRhdGFi
YXNlVXBkYXRlczsKLXZhciBzdG9wcGVkSW50ZXJ2YWxzOwotIAotZnVuY3Rpb24gc3RvcEludGVy
dmFscygpCi17Ci0gICAgc3RvcHBlZEludGVydmFscyA9IHRydWU7Ci0gICAgY2xlYXJJbnRlcnZh
bChkYkZjdEludGVydmFsSWQpOwotICAgIGNsZWFySW50ZXJ2YWwoeGhyRmN0SW50ZXJ2YWxJZCk7
Ci0gICAgY2xlYXJJbnRlcnZhbChiYWNrRmN0SW50ZXJ2YWxJZCk7Ci19Ci0KLWZ1bmN0aW9uIHN0
b3BUZXN0KG1lc3NhZ2UpCi17Ci0gICAgaWYgKCFzdG9wcGVkSW50ZXJ2YWxzKQotICAgICAgICBz
dG9wSW50ZXJ2YWxzKCk7Ci0KLSAgICBsb2cobWVzc2FnZSk7Ci0KLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Ci19Ci0gICAgCi1mdW5jdGlvbiB1cGRhdGVEYXRhYmFzZSgpCi17Ci0gICAgZGF0YWJh
c2VVcGRhdGVzKys7ICAKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0cmFuc2FjdGlvbikg
ewotICAgICAgICB0cmFuc2FjdGlvbi5leGVjdXRlU3FsKFVQREFURV9EQVRBLCBbXSwgZnVuY3Rp
b24oKSB7fSwgZXJyb3JIYW5kbGVyKTsKLSAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9uKCkg
ewotICAgICAgICBzdWNjZXNzZXMrKzsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gY2hlY2tGb3JT
dWNjZXNzKCkKLXsKLSAgICBpZiAoc3VjY2Vzc2VzID09IGRhdGFiYXNlVXBkYXRlcykgewotICAg
ICAgICBzdG9wVGVzdCgnVGVzdCBDb21wbGV0ZSwgU1VDQ0VTUycpOwotICAgICAgICBjbGVhcklu
dGVydmFsKHN1Y2Nlc3NDaGVja0ludGVydmFsSWQpOwotICAgIH0KLX0KLSAKLWZ1bmN0aW9uIGVy
cm9ySGFuZGxlcih0eCwgZXJyb3IpCi17Ci0gICAgbG9nKCdEQiBlcnJvciwgY29kZTogJyArIGVy
cm9yLmNvZGUgKyAnLCBtc2c6ICcgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBzdG9wVGVzdCgnVGVz
dCBDb21wbGV0ZSwgRkFJTEVEJyk7Ci19Ci0gCi1mdW5jdGlvbiBzZW5kWGhyKCkKLXsKLSAgICB4
aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbignR0VUJywgbG9jYXRpb24u
aHJlZiwgdHJ1ZSk7Ci0gICAgeGhyLnNlbmQoJycpOwotfQotIAotZnVuY3Rpb24gaW52b2tlQmFj
aygpCi17Ci0gICAgYmFja0l0ZXJhdGlvbnMtLTsKLSAgICBpZiAoYmFja0l0ZXJhdGlvbnMpIHsK
LSAgICAgICAgaGlzdG9yeS5iYWNrKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc3RvcEludGVy
dmFscygpOwotICAgICAgICAvLyBBbGxvdyBhIGxpdHRsZSB0aW1lIGZvciBhbGwgdGhlIGRhdGFi
YXNlIHRyYW5zYWN0aW9ucyB0byBjb21wbGV0ZSBub3cgd2UndmUgc3RvcHBlZCBtYWtpbmcgdGhl
bS4KLSAgICAgICAgc3VjY2Vzc0NoZWNrSW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGNoZWNrRm9y
U3VjY2VzcywgMjUwKTsKLSAgICAgICAgLy8gSWYgd2UgZG9uJ3QgZmluaXNoIGJlZm9yZSB0aGlz
IHRpbWUsIHRoZW4gd2UgY29uc2lkZXIgdGhlIHRlc3QgZmFpbGVkLgotICAgICAgICBzZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgeyBzdG9wVGVzdCgnVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRyYW5zYWN0
aW9ucyB0byBjb21wbGV0ZS4gRkFJTEVEJyk7IH0sIDIwMDAwKTsKLSAgICAgICAgCi0gICAgfQot
fQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICAvLyBMb2NhdGlvbiBjaGFuZ2VzIG5lZWQg
dG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRvIGdlbmVyYXRlIGhpc3Rvcnkg
ZW50cmllcy4KLSAgICBzZXRUaW1lb3V0KHJ1blRlc3RzSW5uZXIsIDApOwotfQotCi1mdW5jdGlv
biBydW5UZXN0c0lubmVyKCkKLXsKLSAgICBiYWNrSXRlcmF0aW9ucyA9IDEwOwotICAgIGNvbnNl
Y3V0aXZlRmFpbHVyZXMgPSAwOwotICAgIHN1Y2Nlc3NlcyA9IDA7Ci0gICAgZGF0YWJhc2VVcGRh
dGVzID0gMDsKLSAgICBzdG9wcGVkSW50ZXJ2YWxzID0gZmFsc2U7Ci0KLSAgICAvLyBDcmVhdGUg
c29tZSBoYXNoZXMgc28gd2UgY2FuIGNhbGwgaGlzdG9yeS5iYWNrKCkuCi0gICAgbG9nKCdDaGFu
Z2luZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVzLicpOwotICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgYmFja0l0ZXJhdGlvbnM7IGkrKykgewotICAgICAgICBzZXRMb2NhdGlvbkhh
c2goaSk7Ci0gICAgfQotCi0gICAgLy8gSW5pdCB0aGUgZGF0YWJhc2UuCi0gICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHJhbnNhY3Rpb24pIHsKLSAgICAgICAgdHJhbnNhY3Rpb24uZXhlY3V0
ZVNxbChDUkVBVEVfSEVBTFRIX1RBQkxFLCBbXSwgZnVuY3Rpb24oKSB7fSwgZXJyb3JIYW5kbGVy
KTsKLSAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9uKCkgewotICAgICAgICAvLyBHaXZlIGEg
bGl0dGxlIGZvciB0aGUgZGF0YWJhc2UgdG8gJ3dhcm0gdXAnIGJlZm9yZSBtYWtpbmcgeGhyIHJl
cXVlc3RzCi0gICAgICAgIC8vIGFuZCBjYWxsaW5nIGhpc3RvcnkuYmFjaygpLgotICAgICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbG9nKCdEYiBpcyB3YXJtZWQgdXAn
KTsKLQotICAgICAgICAgICAgLy8gTk9URTogSWYgd2UgZG9uJ3QgbWFrZSBhbnkgeGhyIHJlcXVl
c3RzLCB0aGVuIHRoZSB0ZXN0Ci0gICAgICAgICAgICAvLyBzdWNjZXNzZnVsbHkgcGFzc2VzIChj
b21tZW50IHRoaXMgbGluZSBvdXQpLgotICAgICAgICAgICAgeGhyRmN0SW50ZXJ2YWxJZCA9IHNl
dEludGVydmFsKHNlbmRYaHIsIFNFTkRfWEhSX0lOVEVSVkFMKTsKLSAgICAgICAgICAgIGJhY2tG
Y3RJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoaW52b2tlQmFjaywgQkFDS19JTlRFUlZBTCk7Ci0g
ICAgICAgICAgICBkYkZjdEludGVydmFsSWQgPSBzZXRJbnRlcnZhbCh1cGRhdGVEYXRhYmFzZSwg
REJfVVBEQVRFX0lOVEVSVkFMKTsKLSAgICAgICAgfSwgNTAwKTsKLSAgICB9KTsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29s
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFi
YXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkMDE1MTRhNmFlZmIzNjI4ZWIwMDM2NGNiMjYyNGMyMGUwZTg5MDA0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRoaXMgdGVzdCBvcGVucyB0d28gZGF0YWJh
c2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3BlcmF0aW9ucyBvbiBib3RoLCB0aGVuICJmb3Jn
ZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0ZXIgZm9yY2luZyBHQywgcmVzb3VyY2VzIGFzc29j
aWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBncmFjZWZ1bGx5LgotRm9y
Z290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCi1QZXJzaXN0ZW50IERhdGFiYXNl
IFRyYW5zYWN0aW9uIENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
bXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0NTFhY2ZiYjk5YTQzOWRkODI0NzZjMTk5NDkxNjY4
NmE5YTZmMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9u
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Im11bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMiPjwvc2NyaXB0
PgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IG9wZW5zIHR3
byBkYXRhYmFzZXMsIHF1ZXVlcyB1cCBhIHNlcmllcyBvZiBvcGVyYXRpb25zIG9uIGJvdGgsIHRo
ZW4gImZvcmdldHMiIGFib3V0IG9uZSBvZiB0aGVtLgotQWZ0ZXIgZm9yY2luZyBHQywgcmVzb3Vy
Y2VzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBncmFjZWZ1
bGx5Ljxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4K
LTwvcHJlPiAKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWEyYjI3ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZlZjY0
NDIwZDg2Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24u
anMKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1mdW5jdGlvbiBHQygpCi17Ci0gICAg
Ly8gRm9yY2UgR0MuCi0gICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCi0gICAgICAgIEdDQ29u
dHJvbGxlci5jb2xsZWN0KCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgewotICAgICAgICAgICAgKHsgfSk7Ci0gICAgICAgIH0KLSAgICB9Ci19
Ci0KLS8vIFZhcmlhYmxlIGZvciB0aGUgZGF0YWJhc2UgdGhhdCB3aWxsIG5ldmVyIGJlIGZvcmdv
dHRlbgotdmFyIHBlcnNpc3RlbnREQiA9IDA7Ci0vLyBWYXJpYWJsZSBmb3IgdGhlIGZvcmdvdHRl
biBkYXRhYmFzZQotdmFyIGZvcmdvdHRlbkRCID0gMDsKLQotdmFyIGNvbXBsZXRlZCA9IDA7Ci1m
dW5jdGlvbiBjaGVja0NvbXBsZXRpb24oKQotewotICAgIGlmICgrK2NvbXBsZXRlZCA9PSAyICYm
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBwZXJzaXN0
ZW50REIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJNdWx0aXBsZURhdGFiYXNlc1Rlc3QxIiwg
IjEuMCIsICJUZXN0IG9uZSBvdXQgb2YgYSBzZXQgb2YgZGF0YWJhc2VzIGJlaW5nIGRlc3Ryb3ll
ZCAoMSkiLCAzMjc2OCk7Ci0gICAgZm9yZ290dGVuREIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4
KCJNdWx0aXBsZURhdGFiYXNlc1Rlc3QyIiwgIjEuMCIsICJUZXN0IG9uZSBvdXQgb2YgYSBzZXQg
b2YgZGF0YWJhc2VzIGJlaW5nIGRlc3Ryb3llZCAoMikiLCAzMjc2OCk7Ci0KLSAgICBwZXJzaXN0
ZW50REIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgi
Q1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRGF0YVRlc3QgKHJhbmRvbURhdGEpIiwgW10sIGZ1
bmN0aW9uKHR4LCByZXN1bHQpIHsgCi0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI1
OyArK2kpCi0gICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRl
c3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoMSkiLCBbXSk7Ci0gICAgICAgIH0pOyAKLSAgICB9LCBm
dW5jdGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0
aW9uIEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAg
fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBUcmFuc2Fj
dGlvbiBDb21wbGV0ZSIpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsKLQot
ICAgIGZvcmdvdHRlbkRCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4
ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEVtcHR5VGFibGUgKHVuaW1wb3J0
YW50RGF0YSkiLCBbXSk7Ci0gICAgfSwgZnVuY3Rpb24oZXJyKSB7Ci0gICAgICAgIGxvZygiRm9y
Z290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAgICAg
Zm9yZ290dGVuREIgPSAwOwotICAgICAgICBHQygpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24o
KTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgbG9nKCJGb3Jnb3R0ZW4gRGF0YWJhc2Ug
VHJhbnNhY3Rpb24gQ29tcGxldGUiKTsKLSAgICAgICAgZm9yZ290dGVuREIgPSAwOwotICAgICAg
ICBHQygpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsKLX0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5YzBmNmU5NWJhZmI4ZjU3ODMzNjA5
NjE2ZWY1MmM3MDg5NjEyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRoaXMgaXMgYSB0ZXN0IHRvIHNl
ZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgdG8gYmUg
cXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6Ci1UcmFuc2FjdGlvbiAxIFN0YXJ0
ZWQKLVRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCi1UcmFuc2FjdGlvbiAyIFN0YXJ0ZWQKLVRyYW5z
YWN0aW9uIDIgU3VjY2VlZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5k
bGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE2YTJkMTdj
YTA2ODcxNzU5MDFiM2ViYmUwN2NjNjJmOGYyZDZlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5z
YWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw4ICswLDAgQEAKLVRoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiBxdWV1ZWluZyB1cCBtdWx0
aXBsZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJh
c2UgcmVzdWx0cyBpbiBhIGRlYWRsb2NrLgotZGIxIHJlYWQgc3RhdGVtZW50IHN1Y2NlZWRlZAot
ZGIxIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQK
LWRiMiByZWFkIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMiB3cml0ZSBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkCi1kYjIgdHJhbnNhY3Rpb24gc3VjY2VlZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQt
aGFuZGxlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTE4YzMyMmMxNWEz
NmI0MWIxNDMwNzMyM2U2Mzk2MGFkZTE2MGMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21t
b24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1k
aWZmZXJlbnQtaGFuZGxlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNl
dHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIGlzIGEgdGVzdCB0byBzZWUgaWYgcXVldWVpbmcgdXAg
bXVsdGlwbGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRh
dGFiYXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay48YnI+Ci08cHJlIGlkPSJjb25zb2xlIj4gCi1G
QUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4gCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZm
ZXJlbnQtaGFuZGxlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5YWI0YjkzZWY4M2E3NmM3ZTRjOTI0ODFkZmZmMGU1MTc3ZjRhYzFkLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsNzggKzAsMCBAQAotdmFyIGNvbXBsZXRlID0gMDsKLQotZnVuY3Rpb24gY2hlY2tDb21w
bGV0aW9uKCkKLXsKLSAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5kIGFmdGVyIHR3byB0cmFuc2Fj
dGlvbnMKLSAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi0v
LyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2FzZQotZnVuY3Rpb24gb3Bl
blRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIk11
bHRpcGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVzdCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcgbXVsdGlwbGUgdHJhbnNhY3Rp
b25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJlc3VsdCBpbiBhIGRlYWRsb2Nr
LiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3NjgpOwotfQotCi1mdW5j
dGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBzdGF0ZW1lbnRUeXBlKQotewot
ICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkIik7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2soZGJOYW1lLCBzdGF0
ZW1lbnRUeXBlLCBlcnJvcikKLXsKLSAgICBsb2coZGJOYW1lICsgIiAiICsgc3RhdGVtZW50VHlw
ZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotfQotCi0vLyBSdW5z
IGEgdHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCi1mdW5jdGlvbiBydW5UcmFuc2Fj
dGlvbihkYiwgZGJOYW1lLCB2YWwpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRlbWVudAotICAgICAgIHR4LmV4
ZWN1dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgW10sCi0gICAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKGRiTmFt
ZSwgInJlYWQiKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikg
eyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQiLCBlcnJvcik7IH0pOwotCi0g
ICAgICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBtYWtlIHN1cmUgU1FMaXRlIHRy
aWVzIHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhlIERCIGZpbGUKLSAgICAgICB0
eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPyk7IiwgW3ZhbF0sCi0gICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxi
YWNrKGRiTmFtZSwgIndyaXRlIik7IH0sCi0gICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0
eCwgZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUsICJ3cml0ZSIsIGVycm9y
KTsgfSk7Ci0gICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgLy8gVHJhbnNh
Y3Rpb24gZmFpbHVyZSBjYWxsYmFjawotICAgICAgICAgICBsb2coZGJOYW1lICsgIiB0cmFuc2Fj
dGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgY2hlY2tDb21wbGV0
aW9uKCk7Ci0gICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgIC8vIFRyYW5zYWN0aW9u
IHN1Y2Nlc3MgY2FsbGJhY2sKLSAgICAgICAgICAgbG9nKGRiTmFtZSArICIgdHJhbnNhY3Rpb24g
c3VjY2VlZGVkIik7Ci0gICAgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgICAgIH0pOwot
fQotCi0vLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBUZXN0IHRhYmxlIGV4aXN0cyBi
ZWZvcmUgd2UgcnVuIG91ciB0ZXN0LgotLy8gVGhlcmVmb3JlLCB0aGUgdGVzdCBjb2RlIGlzIGlu
IHRoZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9uIHRoYXQgY3JlYXRlcyB0aGUg
dGFibGUuCi1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHRyeSB7Ci0gICAgICAgIHZhciBkYiA9
IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5vdCBl
eGlzdAotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElT
VFMgVGVzdCAoRm9vIGludCk7IiwgW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOwotICAgICAgICAgICAgfSwg
ZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW5nIHRoZSBUZXN0
IHRhYmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgfSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFibGUgd2FzIGNyZWF0ZWQgc3Vj
Y2Vzc2Z1bGx5Ci0gICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2UoKTsK
LSAgICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgICAgICAg
ICAgICAgIGlmIChkYjEgPT0gZGIyKQotICAgICAgICAgICAgICAgICAgICBsb2coImZhaWx1cmU6
IGRiMSA9PSBkYjIiKTsKLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgcnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHJ1
blRyYW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0pOwotICAgIH0gY2F0Y2goZXJyKSB7fQotfQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzNTk3NDQwMTM5NmVmZGM4NzUzYTYwZmIzZTk0ODEyNDI4NTAzNGNkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
bXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24u
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9ucy5qcyI+PC9z
Y3JpcHQ+Ci08aGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KLVRoaXMg
aXMgYSB0ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0cmFu
c2FjdGlvbnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6PGJyPgot
PHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+IAot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBs
ZS10cmFuc2FjdGlvbnMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0
aW9ucy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVjZGFiY2RiZGQ2NGMzYjRh
MWRkNjNmMzUzMTU4Njk2MmNhZDYxOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy5q
cworKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLXZhciBjb21wbGV0ZSA9IDA7Ci0KLWZ1
bmN0aW9uIGNoZWNrQ29tcGxldGlvbigpCi17Ci0gICAgaWYgKCsrY29tcGxldGUgPT0gMiAmJiB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGRiID0g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVUcmFuc2FjdGlvbnNUZXN0IiwgIjEuMCIs
ICJUZXN0IHRvIG1ha2Ugc3VyZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHF1ZXVlZCBh
dCBvbmNlIGZvciBhbiBIVE1MNSBkYXRhYmFzZSIsIDMyNzY4KTsKLQotICAgIGRiLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBTdGFydGVkIik7
Ci0gICAgfSwgZnVuY3Rpb24oZXJyKSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBFcnJv
cmVkIC0gIiArIGVycik7Ci0gICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0sIGZ1bmN0
aW9uKCkgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkIik7Ci0gICAgICAg
IGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0pOwotCi0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIFN0YXJ0ZWQiKTsKLSAgICB9LCBm
dW5jdGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIEVycm9yZWQgLSAiICsg
ZXJyKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdWNjZWVkZWQiKTsKLSAgICAgICAgY2hlY2tDb21w
bGV0aW9uKCk7Ci0gICAgfSk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL251
bGwtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxs
YmFja3MtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzExNjc1
MTA2ZDgxNjk5MTExNGFkOTFjNjYzODBjMjdjMzdkM2E2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFj
a3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVjdCBhbiBvcHRp
b25hbCBjYWxsYmFjay4KLVBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVs
bC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3MuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNhMGUxYzNmZmJjZDMzNjYxMGRmYTM3
YTU4NzY5ZjAyYzQ4Njk2ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9u
IGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24g
cnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIg
ZGIgPSBvcGVuRGF0YWJhc2UoIk51bGxDYWxsYmFja3MiLCAiMS4wIiwgIlRlc3QgZm9yIG51bGwg
Y2FsbGJhY2tzLiIsIDEpOwotICAgICAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewot
ICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVz
dCAoRm9vIElOVCkiLCBudWxsKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJ
TlRPIFRlc3QgVkFMVUVTICg/KSIsIFsxXSwgbnVsbCwgbnVsbCk7Ci0gICAgICAgICAgICB0eC5l
eGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPykiLCBbMl0sIG51bGwpOwotICAg
ICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDMpIiwgbnVs
bCwgbnVsbCwgbnVsbCk7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBU
ZXN0IFZBTFVFUyAoPykiLCBbNF0sIG51bGwsCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odHgs
IGVycm9yKSB7fSk7Ci0gICAgICAgIH0sIG51bGwsIG51bGwpOwotCi0gICAgICAgIGRiLnRyYW5z
YWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoPykiLCBbNV0pOwotICAgICAgICB9LCBudWxsLCBmdW5jdGlvbigp
IHsgZmluaXNoVGVzdCgpOyB9KTsKLSAgICB9IGNhdGNoKGVycikgewotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCA9ICJGQUlMIjsKLSAgICAgICAg
ZmluaXNoVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLVRoaXMgdGVzdCBjaGVja3MgdGhhdCAnbnVsbCcgY2FuIGJlIHVz
ZWQgd2hlcmV2ZXIgd2UgZXhwZWN0IGFuIG9wdGlvbmFsIGNhbGxiYWNrLgotPHByZSBpZD0iY29u
c29sZSI+UEFTUzwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJmM2ZjYjZiYWRkYTEz
MDUxNTI4OTZlNDhhMmExMDUzM2QyY2IxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRp
b24tY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlLCB2ZXJzaW9uIG1pc21hdGNo
LCAnMS4wJyBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKLVRoaXMgdGVz
dCB0ZXN0cyBvcGVuRGF0YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFi
YXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE5NmE2NzU0ZDhkZjU3NDAwY2U0NmM5ZGNjYTIzZTVj
NDI3NTg0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1BTEVS
VDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBh
IGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRo
ZSBvcGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0
IHdvcmxkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
Y3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGE0NjY0YmUyMGZmZmM1YmQ4OTk5ZWY0NDg3
YmZhYjBlZjVjYjQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIG9wZW5E
YXRhYmFzZSgpIGNyZWF0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgY3JlYXRpb25DYWxsYmFj
a3NFeGVjdXRlZCA9IDA7Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrY3JlYXRpb25D
YWxsYmFja3NFeGVjdXRlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlv
biBjcmVhdGlvbkNhbGxiYWNrMShkYikKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBp
c29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0aW9uQ2Fs
bGJhY2syKGRiKQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKLSAgICBkb25lKCk7
Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2li
bGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3Vt
ZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQu
IjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
LSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgK
LSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKVxuIiAr
Ci0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7
XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztc
biIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdP
cGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZCcsICcxLjAnLCAnJywgMSwg
Y3JlYXRpb25DYWxsYmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnT3Bl
bkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxLCBj
cmVhdGlvbkNhbGxiYWNrMik7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFj
ay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxi
YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MTY0NWM0NWVlNzRkNGI2
MWFhMDE5ODAzNGE5NGE4ZDRhN2UzNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9u
LWNhbGxiYWNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19
Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0K
LQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygp
OwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDMyNzY4KTsK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERhdGFiYXNlQ2FsbGJhY2tzKCk7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIHZhciB0cmFuc2Fj
dGlvbnNSdW4gPSAwOwotCi0gICAgLy8gT3BlbiBhIG5ldyBkYXRhYmFzZSB3aXRoIGEgY3JlYXRp
b24gY2FsbGJhY2ssIGFuZCBtYWtlIHN1cmUgdGhlIGNyZWF0aW9uIGNhbGxiYWNrIGlzIHF1ZXVl
ZAotICAgIHZhciBjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSA9IGZhbHNlOwotICAgIHZhciBkYjFO
YW1lID0gIk9wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2sxIiArIChuZXcgRGF0ZSgpKS5nZXRU
aW1lKCk7Ci0gICAgdmFyIGRiMSA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihkYikgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGIudmVyc2lvbiAhPSAiIikgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW9uIGNhbGxiYWNrIHdhcyBj
YWxsZWQgd2l0aCBhIGRhdGFiYXNlIHdpdGggdmVyc2lvbiAiICsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRiLnZlcnNpb24gKyAiOyBlbXB0eSBzdHJpbmcgZXhwZWN0
ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICB9KTsKLQotICAgIC8vIFB1dHRpbmcgdGhpcyBjb2RlIGluc2lkZSBhIHRyYW5zYWN0aW9u
IG9uICdkYjEnIG1ha2VzIHN1cmUgdGhhdCBpdCBpcyBleGVjdXRlZCBhZnRlcgotICAgIC8vIHRo
ZSBjcmVhdGlvbiBjYWxsYmFjayBpcy4KLSAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAgaWYgKCFjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSkgewotICAgICAgICAgICAg
bG9nKCJDcmVhdGlvbiBjYWxsYmFjayBmb3IgZGIxIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAg
ICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlmICgrK3RyYW5zYWN0aW9u
c1J1biA9PSAyKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwotCi0gICAgLy8g
VHJ5IHRvIG9wZW4gYW5vdGhlciBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UuCi0gICAgLy8g
U2luY2UgdGhlIHZlcnNpb24gb2YgdGhpcyBkYXRhYmFzZSBpcyAiIiAoZW1wdHkgc3RyaW5nKSwg
b3BlbkRhdGFiYXNlKCkgc2hvdWxkIHJldHVybgotICAgIC8vIGEgbnVsbCBoYW5kbGUgYW5kIHRo
cm93IGEgSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uLgotICAgIHZhciBkYjFGYWlsID0gbnVs
bDsKLSAgICB0cnkgewotICAgICAgICBkYjFGYWlsID0gb3BlbkRhdGFiYXNlKGRiMU5hbWUsICIx
LjAiLCAiIiwgMSk7Ci0gICAgICAgIGxvZygiVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBoYXZl
IGJlZW4gZXhlY3V0ZWQ7IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBzaG91bGQndmUg
YmVlbiB0aHJvd24uIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGNhdGNoKGVycikg
ewotICAgICAgICBpZiAoZGIxRmFpbCkgewotICAgICAgICAgICAgbG9nKCJkYjFGYWlsIHNob3Vs
ZCBoYXZlIGJlZW4gbnVsbC4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIC8vIE9wZW4gYSBoYW5kbGUgdG8gYW5vdGhlciBkYXRhYmFzZSwgZmly
c3Qgd2l0aG91dCBhIGNyZWF0aW9uIGNhbGxiYWNrLCB0aGVuIHdpdGggb25lLgotICAgIC8vIE1h
a2Ugc3VyZSB0aGUgY3JlYXRpb24gY2FsbGJhY2sgaXMgbm90IGNhbGxlZC4KLSAgICB2YXIgY3Jl
YXRpb25DYWxsYmFja0NhbGxlZDIgPSBmYWxzZTsKLSAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNl
KCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAiIiwgMSk7Ci0gICAgZGIy
ID0gb3BlbkRhdGFiYXNlKCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAi
IiwgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZGIpIHsgY3JlYXRpb25DYWxs
YmFja0NhbGxlZDIgPSB0cnVlOyB9KTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAgaWYgKGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyKSB7Ci0gICAgICAgICAgICBs
b2coIkNyZWF0aW9uIGNhbGxiYWNrIGZvciBkYjIgc2hvdWxkIG5vdCBoYXZlIGJlZW4gY2FsbGVk
LiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlmICgr
K3RyYW5zYWN0aW9uc1J1biA9PSAyKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0p
OwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
VGhpcyB0ZXN0IHRlc3RzIG9wZW5EYXRhYmFzZSgpJ3MgY3JlYXRpb24gY2FsbGJhY2suCi08cHJl
IGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZTJmZmMzMGQ0YTQ2NWJk
ZGViYzk5YmYwMzY3OTU5OWVmOThmZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZl
cnNpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRl
c3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmlu
ZyBkb2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgotU1VDQ0VTUyEgRGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9v
cGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDYwNDExMzgzZjE4Y2Y4MGM5YzRhZDgzOGY3MTU0OWI2OWM2Njc2Yy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjIg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBydW5UZXN0KCkgewot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgCi0gICAgdHJ5IHsgICAgCi0gICAgICAgIHZh
ciBkYiA9IG9wZW5EYXRhYmFzZSgnNTU2MjQ3MFRlc3QnLCAnJywgJ1Rlc3QgZm9yIDxyZGFyOi8v
cHJvYmxlbS81NTYyNDcwPiBvcGVuRGF0YWJhc2UgZG9lcyBub3Qgd29yayB3aGVuIHRoZSB2ZXJz
aW9uIHN0cmluZyBpcyBlbXB0eScsIDEpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdGQUlMVVJFJwotICAg
IH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPGRp
dj5UaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJz
aW9uIHN0cmluZyBkb2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgotPGRp
diBpZD0icmVzdWx0Ij4KLVNVQ0NFU1MhIERpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLgotPC9k
aXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29w
ZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFhZThkYjZiMzcuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ug
d2l0aCBhIHNpemUgb3ZlciA1TUIgZG9lc24ndCBhc3NlcnQgb24gZGVidWcgYnVpbGRzLgotUEFT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVv
dGEuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhOTI2NGRlMzNkZjExNzQ0OWI0YzNl
NTNhNjdjZmVmOTY0NDFiZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
PgotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICB9Ci0KLSAg
ICB0cnkgewotICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4nLCAn
JywgJ1Rlc3QgZm9yIGJ1ZyAzNjQ3MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNyZWF0
aW5nRGF0YWJhc2UnLCAxMDAwMDAwMCk7Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKLSAgICB9
Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxkaXY+
VGhpcyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1C
IGRvZXNuJ3QgYXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KLTxkaXYgaWQ9InJlc3VsdCI+Ci1GQUlM
OiBXZSBzaG91bGRuJ3QgaGF2ZSBiZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCi08L2Rp
dj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Bl
bi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWQ5OTYwMzQ0Y2Y1MDg0MmY3ZmU5NThlZTdjNmRl
Mjc2NGIyZGY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UsIHZlcnNpb24gbWlzbWF0Y2gsICd0ZXN0JyBkb2VzIG5v
dCBtYXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKLVRoaXMgdGVzdHMgdGhhdCBjYWxsaW5n
IG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIHNldHMgdGhlIGN1cnJl
bnQgdmVyc2lvbiBvZiB0aGF0IGRhdGFiYXNlIHRvIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1YnNl
cXVlbnQgYXR0ZW1wdHMgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBleHBl
Y3RlZCB2ZXJzaW9uIHRocm93IGFuIGV4Y2VwdGlvbi4KLVNVQ0NFU1MsIGFuIGV4Y2VwdGlvbiB3
YXMgdGhyb3duLiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVy
c2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12
ZXJzaW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzNjA3ZmQxOWM5ZDc4
NTFkMmEwZWZhNDNlMzUwNDBhYzk5ZWRmNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1l
bXB0eS12ZXJzaW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7Ci0gICAgfQotICAgIAotICAgIHRyeSB7ICAgIAotICAgICAgICB2YXIgZGIgPSBvcGVuRGF0
YWJhc2UoJzI4NDE3VGVzdCcsICcnLCAnVGVzdCBmb3IgYnVnIDI4NDE3OiBvcGVuRGF0YWJhc2Uo
KSB3aXRoIGVtcHR5IHZlcnNpb24gc2V0cyBkYiB2ZXJzaW9uIHVwIGluY29ycmVjdGx5JywgMCk7
Ci0gICAgICAgIC8vIFRoZSBuZXh0IG9wZW5EYXRhYmFzZSBjYWxsIHNob3VsZCBmYWlsIGJlY2F1
c2UgdGhlIGRhdGFiYXNlIHZlcnNpb24gd2FzIHNldCB0byAnJyBieSB0aGUgY2FsbCBhYm92ZSwg
YW5kIG5vdyB3ZSBhcmUgZXhwZWN0aW5nIGEgZGlmZmVyZW50IHZlcnNpb24uCi0gICAgICAgIHZh
ciBkYjIgPSBvcGVuRGF0YWJhc2UoJzI4NDE3VGVzdCcsICd0ZXN0JywgJ1Rlc3QgZm9yIGJ1ZyAy
ODQxNzogb3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVyc2lvbiB1
cCBpbmNvcnJlY3RseScsIDApOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdTVUNDRVNTLCBhbiBleGNlcHRp
b24gd2FzIHRocm93bi4gJyArIGU7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5E
YXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIHNldHMgdGhlIGN1cnJlbnQgdmVy
c2lvbiBvZiB0aGF0IGRhdGFiYXNlIHRvIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1YnNlcXVlbnQg
YXR0ZW1wdHMgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBleHBlY3RlZCB2
ZXJzaW9uIHRocm93IGFuIGV4Y2VwdGlvbi48L2Rpdj4KLTxkaXYgaWQ9InJlc3VsdCI+Ci1GQUlM
VVJFIC0gYW4gZXhjZXB0aW9uIHdhcyBleHBlY3RlZC4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRy
YW5zYWN0aW9uLWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
b3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjYWM4YWZjZWJlMTFkNjEwN2VlOGQ4ZTc2
ODQxYjM1NmFiZTAzNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9u
LWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAot
VGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5z
YWN0aW9uIGlzIHJ1bm5pbmcgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFi
YXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay4KLW9wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5z
YWN0aW9uLWluLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJh
c2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNzA3YTFhNDVjOWMyMzQ5NTRiZTJlMDA5N2U5MDc5YjY1NDc3MWNjMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
b3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIGlzIGEg
dGVzdCB0byBzZWUgaWYgb3BlbmluZyBhIGRhdGFiYXNlIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMg
cnVubmluZyBvbiBhIGRpZmZlcmVudCBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcmVzdWx0
cyBpbiBhIGRlYWRsb2NrLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVzdCBk
aWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mu
anMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMWEwYzAxNGUy
MzY1OTBlNzY0NDBhN2E0N2EwNGQwMTY0Y2EzYzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdo
aWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAs
MCBAQAotLy8gT3BlbnMgdGhlIGRhdGFiYXNlIHVzZWQgaW4gdGhpcyB0ZXN0IGNhc2UKLWZ1bmN0
aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQotewotICAgIHJldHVybiBvcGVuRGF0YWJhc2VXaXRoU3Vm
Zml4KCJPcGVuRGF0YWJhc2VXaGlsZVRyYW5zYWN0aW9uSW5Qcm9ncmVzc1Rlc3QiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNl
KCkgd2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBpbiBwcm9ncmVzcyBvbiBhIGRpZmZlcmVudCBoYW5k
bGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgZG9lcyBub3QgcmVzdWx0IGluIGEgZGVhZGxvY2suIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMTAwMDAwKTsgLy8gMk1CICsgZXBz
aWxvbgotfQotCi0vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI4MjA3Ci0vLyBJbiBvcmRlciB0byB0cmlnZ2VyIHRoaXMgYnVnLCB0aGUgdHJhbnNhY3Rpb24g
bXVzdCBhY3F1aXJlIGFuIGV4Y2x1c2l2ZQotLy8gbG9jayBvbiB0aGUgREIgZmlsZSBiZWZvcmUg
dHJ5aW5nIHRvIG9idGFpbiBhIHNlY29uZCBoYW5kbGUgdG8gdGhlIHNhbWUgREIuCi0vLyBUaGUg
b25seSB3YXkgdG8gZm9yY2UgU1FMaXRlIHRvIG9idGFpbiBhbiBleGNsdXNpdmUgbG9jayBpcyB0
byBjaGFuZ2UgbW9yZQotLy8gdGhhbiBjYWNoZV9zaXplICogcGFnZV9zaXplIGJ5dGVzIGluIHRo
ZSBkYXRhYmFzZS4gVGhlIGRlZmF1bHQgdmFsdWUgZm9yCi0vLyBjYWNoZV9zaXplIGlzIDIwMDAg
cGFnZXMsIGFuZCB0aGUgZGVmYXVsdCBwYWdlX3NpemUgaXMgMTAyNCBieXRlcy4gU28gdGhlCi0v
LyBzaXplIG9mIHRoZSBibG9iIG11c3QgYmUgYXQgbGVhc3QgMk1CLgotZnVuY3Rpb24gcnVuVGVz
dCgpCi17Ci0gICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICBkYjEudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgLy8gQ3JlYXRlIHRoZSBUZXN0IHRhYmxlIGlm
IGl0IGRvZXMgbm90IGV4aXN0Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJ
RiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBCTE9CKTsiKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgi
SU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKFpFUk9CTE9CKDIwOTcxNTIpKTsiLCBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nKCJvcGVuRGF0YWJhc2UoKSBzdWNjZWVkZWQuIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9nKCJFeGVjdXRpbmcgc3RhdGVtZW50IGZhaWxlZDog
IiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAg
IC8vIENsZWFuIHVwIHRoZSBEQiB0byBhbGxvdyBmb3IgcmVwZWF0ZWQgcnVucyBvZiB0aGlzIHRl
c3QKLSAgICAgICAgLy8gd2l0aG91dCBuZWVkaW5nIHRvIGluY3JlYXNlIHRoZSBkZWZhdWx0IGFs
bG93ZWQgcXVvdGEgKDVNQikKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiREVMRVRFIEZST00gVGVz
dDsiKTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9u
IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxZjY3ZDJmYWM0ZjI2
ZTZmMmQ3MjgwMDY4ODBkMmY1ZmY1MzI5MDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5v
cmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAK
LVRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFz
ZSBkdXJpbmcgcHJpdmF0ZSBicm93c2luZyBmYWlsLgotU2V0dXAgc3RhdGVtZW50IDEgY29tcGxl
dGVkIHN1Y2Nlc3NmdWxseQotU2V0dXAgc3RhdGVtZW50IDIgY29tcGxldGVkIHN1Y2Nlc3NmdWxs
eQotUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgot
Y291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotUHJpdmF0ZSBi
cm93c2luZyBzdGF0ZW1lbnQgMiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgotY291bGQgbm90IHBy
ZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVByaXZhdGUgYnJvd3Npbmcgc3Rh
dGVtZW50IDMgY29tcGxldGVkIHdpdGggYW4gZXJyb3IKLWNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1Qcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA0IGNv
bXBsZXRlZCB3aXRoIGFuIGVycm9yCi1jb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5v
dCBhdXRob3JpemVkKQotUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgNSBjb21wbGV0ZWQgd2l0
aCBhbiBlcnJvcgotY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBhY2Nlc3MgdG8gUHJp
dmF0ZVRlc3QxLnJhbmRvbURhdGEgaXMgcHJvaGliaXRlZCkKLVRlc3QgZW5kZWQKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3Jp
dGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjliNTg4MmI0ZGUxYzU2MjA2
NGM1ZTg0NzcwMTA2OTc5YTAxZmMxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFk
LW5vd3JpdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsK
LSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNz
YWdlICsgIlxuIjsKLX0KLQotdmFyIHNldHVwU3RhdGVtZW50cyA9IFsKLSAgICAiQ1JFQVRFIFRB
QkxFIElGIE5PVCBFWElTVFMgUHJpdmF0ZVRlc3QxIChyYW5kb21EYXRhKSIsCi0gICAgIklOU0VS
VCBJTlRPIFByaXZhdGVUZXN0MSBWQUxVRVMgKCdzb21lZGF0YScpIgotXTsKLQotdmFyIHByaXZh
dGVCcm93c2luZ1N0YXRlbWVudHMgPSBbCi0gICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RT
IFByaXZhdGVUZXN0MiAocmFuZG9tRGF0YSkiLAotICAgICJERUxFVEUgRlJPTSBQcml2YXRlVGVz
dDEiLAotICAgICJEUk9QIFRBQkxFIFByaXZhdGVUZXN0MSIsCi0gICAgIklOU0VSVCBJTlRPIFBy
aXZhdGVUZXN0MSBWQUxVRVMgKCdzb21lZGF0YScpIiwKLSAgICAiU0VMRUNUICogRlJPTSBQcml2
YXRlVGVzdDEiCi1dOwotCi12YXIgY29tcGxldGVkID0gMDsKLXZhciB0aGVUcmFuc2FjdGlvbjsK
LQotZnVuY3Rpb24gc2V0dXBTdWNjZXNzRnVuY3Rpb24odHgsIHJlc3VsdCkKLXsKLSAgICArK2Nv
bXBsZXRlZDsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygiU2V0dXAgc3RhdGVtZW50ICIgKyBjb21w
bGV0ZWQgKyAiIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKLSAgICBjaGVja1NldHVwQ29tcGxl
dGUoKTsKLX0KLQotZnVuY3Rpb24gc2V0dXBFcnJvckZ1bmN0aW9uKHR4LCBlcnJvcikKLXsKLSAg
ICArK2NvbXBsZXRlZDsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygiU2V0dXAgc3RhdGVtZW50ICIg
KyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2Fn
ZSk7Ci0gICAgY2hlY2tTZXR1cENvbXBsZXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIHByaXZhdGVCcm93
c2luZ1N1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQotewotICAgICsrY29tcGxldGVkOwotICAg
IHdyaXRlTWVzc2FnZVRvTG9nKCJQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAiICsgY29tcGxl
dGVkICsgIiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Iik7Ci19Ci0KLWZ1bmN0aW9uIHByaXZhdGVC
cm93c2luZ0Vycm9yRnVuY3Rpb24odHgsIGVycm9yKQotewotICAgICsrY29tcGxldGVkOwotICAg
IHdyaXRlTWVzc2FnZVRvTG9nKCJQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAiICsgY29tcGxl
dGVkICsgIiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvclxuIiArIGVycm9yLm1lc3NhZ2UpOwotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gcnVuU2V0dXAodHJhbnNhY3Rpb24pCi17Ci0g
ICAgdGhlVHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjsKLSAgICBmb3IgKGkgaW4gc2V0dXBTdGF0
ZW1lbnRzKQotICAgICAgICB0aGVUcmFuc2FjdGlvbi5leGVjdXRlU3FsKHNldHVwU3RhdGVtZW50
c1tpXSwgW10sIHNldHVwU3VjY2Vzc0Z1bmN0aW9uLCBzZXR1cEVycm9yRnVuY3Rpb24pOwotfQot
Ci1mdW5jdGlvbiBjaGVja1NldHVwQ29tcGxldGUoKQotewotICAgIGlmIChjb21wbGV0ZWQgPT0g
c2V0dXBTdGF0ZW1lbnRzLmxlbmd0aCkKLSAgICAgICAgcnVuUHJpdmF0ZUJyb3dzaW5nVGVzdHMo
KTsKLX0KLQotZnVuY3Rpb24gcnVuUHJpdmF0ZUJyb3dzaW5nVGVzdHMoKQotewotICAgIGNvbXBs
ZXRlZCA9IDA7Ci0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwot
ICAgIAotICAgIGZvciAoaSBpbiBwcml2YXRlQnJvd3NpbmdTdGF0ZW1lbnRzKQotICAgICAgICB0
aGVUcmFuc2FjdGlvbi5leGVjdXRlU3FsKHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHNbaV0sIFtd
LCBwcml2YXRlQnJvd3NpbmdTdWNjZXNzRnVuY3Rpb24sIHByaXZhdGVCcm93c2luZ0Vycm9yRnVu
Y3Rpb24pOwotfQotCi1mdW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICB3cml0ZU1lc3NhZ2VUb0xv
ZygiVGVzdCBlbmRlZCIpOwotICAgIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
ewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB2YXIgZGF0
YWJhc2UgPSBvcGVuRGF0YWJhc2UoIlByaXZhdGVCcm93c2luZ05vUmVhZE5vV3JpdGVUZXN0Iiwg
IjEuMCIsICJUZXN0IHByaXZhdGUgYnJvd3Npbmcgbm8gcmVhZC93cml0ZSBzYWZldHkiLCAxKTsK
LSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihydW5TZXR1cCwgZW5kVGVzdCwgZW5kVGVzdCk7Ci19
Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KLVRoaXMg
dGVzdCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBkdXJp
bmcgcHJpdmF0ZSBicm93c2luZyBmYWlsLjxicj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10
cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5n
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ4NjBmMGMwNGRk
NzU2ZmM4ZDQ3NGIzNzliZTNhNWZjN2Y3Y2U4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVVJIERFTEVHQVRFIERB
VEFCQVNFIENBTExCQUNLOiBleGNlZWRlZERhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbjp7
ZmlsZSwgLCAwfSBkYXRhYmFzZTpRdW90YU1hbmFnZW1lbnREYXRhYmFzZTIKLVRoaXMgdGVzdCBj
aGVja3MgdG8gbWFrZSBzdXJlIHRoYXQgcXVvdGFzIGFyZSBlbmZvcmNlZCBwZXItb3JpZ2luIGlu
c3RlYWQgb2YgcGVyLWRhdGFiYXNlLCBhcyB0aGV5IHdlcmUgcHJpb3IgdG8gaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9wcm9qZWN0cy93ZWJraXQvY2hhbmdlc2V0LzI5OTgzLgotVGhlIHRlc3QgY2xl
YXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywg
dGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0
aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBV
SSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBz
aG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBv
ZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotQWRkaW5nIGEgdGFi
bGUKLUluc2VydGluZyBzb21lIGRhdGEKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxl
Ci1JbnNlcnRpbmcgc29tZSBkYXRhCi1FeHBlY3RlZCBxdW90YSBleGNlcHRpb24gLSB0aGVyZSB3
YXMgbm90IGVub3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0b3JhZ2UgcXVv
dGEgd2FzIHJlYWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1vcmUgc3BhY2UK
LURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxlCi1JbnNlcnRpbmcgc29tZSBkYXRhCi1E
b25lIGFkZGluZyBkYXRhCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmcuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEt
dHJhY2tpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU1MjUyM2IxNjNm
MDU0NTU4OGE4OGViMTMxMGJkZmQ4YzY2MjNhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQ+Ci12YXIgZGF0YWJhc2UxID0gbnVsbDsKLXZhciBkYXRhYmFzZTIgPSBudWxsOwotdmFyIGRh
dGFiYXNlMyA9IG51bGw7Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7
Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygiVGVzdCBDb21wbGV0ZSIp
OwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JG
dW5jdGlvbih0eCwgZXJyb3IpCi17Ci0gICAgbG9nKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAtICIg
KyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRyYW5z
YWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJyb3IpCi17Ci0gICAgLy8gV2Ugb25seSBleHBlY3Qg
YW4gZXJyb3IgbWVzc2FnZSBmb3IgZGF0YWJhc2UyCi0gICAgaWYgKGRiID09IGRhdGFiYXNlMikg
ewotICAgICAgICBsb2coIkV4cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNz
YWdlKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oZGIp
Ci17Ci0gICAgbG9nKCJEb25lIGFkZGluZyBkYXRhIik7Ci0KLSAgICBpZiAoZGF0YWJhc2UzKSB7
Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UgaWYgKGRhdGFiYXNlMikgewotICAg
ICAgICBkYXRhYmFzZTMgPSBvcGVuRGF0YWJhc2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMyIs
ICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7
Ci0gICAgICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTMpOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IGRhdGFiYXNlMiA9IG9wZW5EYXRhYmFzZSgiUXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyIiwgIjEu
MCIsICJUZXN0IGZvciBxdW90YSBtYW5hZ2VtZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKLSAg
ICAgICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMik7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBhZGRE
YXRhKGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxv
ZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOwotICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQg
SU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFMVUVTIChaRVJPQkxPQigxNzQwOCkpIiwgW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1l
bnRFcnJvckZ1bmN0aW9uKTsKLSAgICAgICAgaWYgKGRiID09IGRhdGFiYXNlMikgewotICAgICAg
ICAgICAgLy8gVHJ5IHRvIHJ1biB0aGlzIHN0YXRlbWVudCBvbiAnZGF0YWJhc2UyJyBvbmx5Lgot
ICAgICAgICAgICAgLy8gSXQgc2hvdWxkIG5vdCBiZSBydW4sIGJlY2F1c2UgdGhlIHByZXZpb3Vz
IHN0YXRlbWVudCBzaG91bGQndmUKLSAgICAgICAgICAgIC8vIHJlc3VsdGVkIGluIGEgZmFpbHVy
ZSB0aGF0IG1hZGUgc3FsaXRlIHJvbGwgYmFjayB0aGUgZW50aXJlIHRyYW5zYWN0aW9uLgotICAg
ICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHJhbmRvbURhdGEp
IFZBTFVFUyAoWkVST0JMT0IoMTApKSIsIFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2co
IlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIHJ1bi4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7Ci0gICAgICAgIH0KLSAgICB9LCBmdW5jdGlv
bihlcnJvcikgewotICAgICAgICB0cmFuc2FjdGlvbkVycm9yRnVuY3Rpb24oZGIsIGVycm9yKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKLSAgICB9
KTsKLX0KLQotZnVuY3Rpb24gdGVzdERhdGFiYXNlKGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiQWRkaW5nIGEgdGFibGUiKTsKLSAgICAgICAg
dHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLAot
ICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgfSwgc3RhdGVtZW50
RXJyb3JGdW5jdGlvbik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgdHJhbnNh
Y3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBlcnJvcik7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGFkZERhdGEoZGIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5zZXREYXRhYmFzZVF1b3RhKDQwOTYwKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7Ci0gICAgfQotCi0gICAgZGF0YWJhc2UxID0gb3BlbkRhdGFiYXNlKCJRdW90YU1hbmFnZW1l
bnREYXRhYmFzZTEiLCAiMS4wIiwgIlRlc3QgZm9yIHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81
NjI4NDY4PiIsIDEpOwotICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTEpOwotfQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNoZWNr
cyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVh
ZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMuPGJyPgotVGhlIHRlc3QgY2xl
YXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywg
dGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0
aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBV
SSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBz
aG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBv
ZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotPHByZSBpZD0iY29u
c29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2Fj
dGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjYzg5NzljM2NiNTA3ZDkyMDAwNTc3ZjhmZmNjNzcwNDdmMjE1N2Q5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0
aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0
aGUgc2FtZSBkYXRhYmFzZSBkb24ndCBydW4gdG9nZXRoZXIuCi1UcmFuc2FjdGlvbiBzdWNjZXNz
ZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1U
cmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0
aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3Vj
Y2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVs
LgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFk
LWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMTFkYTM1Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBmOGZj
OTg1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dl
dGhlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJyZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsi
PgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRp
ZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvbid0IHJ1biB0b2dldGhlci48
YnI+Ci08cHJlIGlkPSJjb25zb2xlIj4KLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KLTwvcHJl
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFk
LWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWI4MTdiYWQzMzA3MzcxZDdhZDE5OWI0
MGJmMTE5YjViMDU2MzdkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1k
b250LXJ1bi10b2dldGhlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLWZ1bmN0
aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhT
dWZmaXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9uc0RvbnRSdW5Ub2dldGhlclRlc3QiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHJlYWQgYW5kIHdyaXRlIHRy
YW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2FtZSBEQiBkb24ndCBy
dW4gYXQgdGhlIHNhbWUgdGltZS4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDMyNzY4KTsKLX0KLQotdmFyIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID0gMDsKLXZhciB3
cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwotdmFyIHRvdGFsVHJhbnNhY3Rpb25zID0g
MDsKLXZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7Ci0KLWZ1bmN0aW9uIHJ1blRyYW5zYWN0
aW9uKGRiLCByZWFkT25seSkKLXsKLSAgICB2YXIgdHJhbnNhY3Rpb25GdW5jdGlvbiA9IChyZWFk
T25seSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRiLnRyYW5zYWN0aW9uKTsKLSAgICB0cmFuc2Fj
dGlvbkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICBpZiAocmVh
ZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBpZiAod3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNz
ICE9IDApIHsKLSAgICAgICAgICAgICAgICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9uIHN0YXJ0
aW5nIHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGluIHByb2dyZXNzLiIpOwotICAgICAgICAgICAg
ICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIGlmICgocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgIT0gMCkgfHwg
KHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAwKSkgewotICAgICAgICAgICAgICAgICAg
ICBsb2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIGFub3RoZXIgdHJhbnNhY3Rp
b24gaW4gcHJvZ3Jlc3MuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgd3JpdGVUcmFuc2FjdGlvbnNJblBy
b2dyZXNzKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxF
Q1QgKiBGUk9NIFRlc3Q7Iik7Ci0gICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAg
ICAgICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDogIldyaXRlIikgKyAiIHRyYW5zYWN0aW9uIGZh
aWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwot
ICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICBmaW5pc2hlZFRyYW5zYWN0aW9u
cysrOwotICAgICAgICAgICAgIGlmIChyZWFkT25seSkKLSAgICAgICAgICAgICAgICAgcmVhZFRy
YW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKLSAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwotICAgICAgICAgICAgIGxvZygiVHJh
bnNhY3Rpb24gc3VjY2Vzc2Z1bC4iKTsKLSAgICAgICAgICAgICBpZiAoKGZpbmlzaGVkVHJhbnNh
Y3Rpb25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAmJiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jl
c3MgPT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKSkKLSAgICAgICAg
ICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVu
UmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpCi17Ci0gICAgdG90YWxUcmFu
c2FjdGlvbnMgPSAxMDsKLSAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7Ci0gICAgcnVuVHJh
bnNhY3Rpb24oZGIxLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihkYjIsIHRydWUpOwotICAg
IHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1
ZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihk
YjMsIHRydWUpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwotICAgIHJ1blRyYW5z
YWN0aW9uKGRiMiwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7Ci0gICAg
cnVuVHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAg
ICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgIHZhciBkYjIgPSBvcGVuVGVzdERh
dGFiYXNlKCk7Ci0gICAgdmFyIGRiMyA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICBkYjEudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBpbnQpOyIpOwotICAgICAgICB9LCBmdW5j
dGlvbihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJDYW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRh
YmxlOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0g
ICAgICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgcnVuUmVhZEFuZFdyaXRlVHJhbnNh
Y3Rpb25zKGRiMSwgZGIyLCBkYjMpOwotICAgICAgICB9KTsKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5n
LWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGY1OGQyZGZlNmFiYjFhMzE0NTdlYjUxNzllZGY0Y2YwMDA4MWY2ODUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFk
LXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwzICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9ubHkg
dHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJ1
biBjb25jdXJyZW50bHkuCi1SZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRseS4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5u
aW5nLWNvbmN1cnJlbnRseS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0
aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiMmQ4NjJjMWU2Y2U4MjRmNDA4ODU4NTg0Yjk1ODcxOWI5NWNjMGJkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
cmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBs
b2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCArPSBtZXNzYWdlICsg
Ijxicj4iOwotfQotCi1mdW5jdGlvbiB0ZXJtaW5hdGVUZXN0KCkKLXsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQotewotICAgIHJldHVy
biBvcGVuRGF0YWJhc2UoIlJlYWRUcmFuc2FjdGlvbnNSdW5uaW5nQ29uY3VycmVudGx5VGVzdCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IG11bHRpcGxlIHJlYWQgdHJhbnNhY3Rpb25zIG9uIGRp
ZmZlcmVudCBEQiBoYW5kbGVzIHRvIHRoZSBzYW1lIERCIHJ1biBjb25jdXJyZW50bHkuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKLX0KLQotdmFyIHJlYWRUcmFuc2FjdGlvbnNJ
blByb2dyZXNzID0gMDsKLQotZnVuY3Rpb24gcnVuUmVhZFRyYW5zYWN0aW9uKGRiKQotewotICAg
IGRiLnJlYWRUcmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgcmVhZFRyYW5z
YWN0aW9uc0luUHJvZ3Jlc3MrKzsKLSAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAg
ICAgICAgIGxvZygiUmVhZCB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsK
LSAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBpZiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMikKLSAgICAgICAg
ICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LiIpOwot
ICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKLSAgICAgICAgICAgIGlm
IChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKQotICAgICAgICAgICAgICAgIHRlcm1p
bmF0ZVRlc3QoKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIgZGIxID0gb3BlblRl
c3REYXRhYmFzZSgpOwotICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAg
ICAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgICAgICB0eC5l
eGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gaW50KTsiKTsK
LSAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJD
YW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAg
ICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgcnVuUmVhZFRyYW5zYWN0aW9uKGRiMSk7Ci0gICAgICAgICAgICAgICAg
cnVuUmVhZFRyYW5zYWN0aW9uKGRiMik7Ci0gICAgICAgICAgICB9KTsKLSAgICAgfSBjYXRjaChl
cnIpIHsgbG9nKGVycik7IH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCk7Ij4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9ubHkgdHJhbnNhY3Rp
b25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJ1biBjb25jdXJy
ZW50bHkuPGJyPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9y
ZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBkMWViNDEwMmU1MThjZDk5NjVlM2NhMGU0MDEyYjJhNTFkNTFmZTc4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVz
b3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAK
LXZhciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKLQotZnVuY3Rpb24gb3BlbkRhdGFiYXNlV2l0
aFN1ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwgY2FsbGJhY2spCi17Ci0g
ICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7Ci0gICAgICAgIHJldHVybiBvcGVuRGF0YWJh
c2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwgY2Fs
bGJhY2spOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiBvcGVuRGF0YWJhc2UobmFtZSAr
IERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSk7Ci0gICAgfQotfQot
Ci1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gc2V0
TG9jYXRpb25IYXNoKGhhc2gpIHsKLSAgICBsb2NhdGlvbi5oYXNoID0gaGFzaDsKLX0KLQotZnVu
Y3Rpb24gc2V0dXBBbmRSdW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCA9ICIiOwotICAgIHJ1
blRlc3QoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL2Rh
dGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVz
b3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNmUwZjA5Y2VhNzFhNWIzZDU2MGI2ZDI4NzM0N2UxZDAzZjhiYTgwOS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1
bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25z
b2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlz
aFRlc3QoKQotewotICAgIGxvZygiVGVzdCBwYXJ0IDIgQ29tcGxldGUiKTsKLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9yRnVuY3Rpb24oZXJyb3IpCi17Ci0gICAg
bG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7
Ci19Ci0KLWZ1bmN0aW9uIGFkZERhdGEoZGIpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsKLSAgICAgICAgbG9nKCJJbnNlcnRpbmcgc29tZSBkYXRhIik7Ci0gICAgICAgIHR4
LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTICg/KSIs
IFsiQSJdLAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBmdW5jdGlvbih0
eCwgZXJyb3IpIHsgZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOwotICAgIH0sIGZ1bmN0aW9uKCkg
eyB9LCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVz
dCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIg
ZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rlc3QiLCAiMS4wIiwgIlRlc3Qg
Zm9yIGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKLSAgICAgICAgYWRkRGF0YShkYXRhYmFz
ZSk7Ci0gICAgfSBjYXRjaChlKSB7Ci0gICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qgb3Bl
biBkYXRhYmFzZSIpOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29s
ZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9yZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYjk5YWYzYzc5NjFmNDI3YTg3YTZlZjdmYWFmMGQxNGIyODliYzcyMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jl
c291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAK
LTwhZG9jdHlwZSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci12YXIgZGI7Ci0KLXRy
eSB7Ci0gICAgaWYgKHdpbmRvdy5vcGVuRGF0YWJhc2UpIHsKLSAgICAgICAgZGIgPSBvcGVuRGF0
YWJhc2UoIlN0cmVzc1Rlc3QyIiwgIjEuMCIsICJEYXRhYmFzZSBzdHJlc3MgdGVzdCIsIDIwMDAw
MCk7Ci0gICAgICAgIGlmICghZGIpCi0gICAgICAgICAgICBhbGVydCgiRmFpbGVkIHRvIG9wZW4g
dGhlIGRhdGFiYXNlIG9uIGRpc2suICBUaGlzIGlzIHByb2JhYmx5IGJlY2F1c2UgdGhlIHZlcnNp
b24gd2FzIGJhZCBvciB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGxlZnQgaW4gdGhpcyBkb21h
aW4ncyBxdW90YSIpOwotICAgIH0gZWxzZQotICAgICAgICBhbGVydCgiQ291bGRuJ3Qgb3BlbiB0
aGUgZGF0YWJhc2UuICBQbGVhc2UgdHJ5IHdpdGggYSBXZWJLaXQgbmlnaHRseSB3aXRoIHRoaXMg
ZmVhdHVyZSBlbmFibGVkIik7Ci19IGNhdGNoKGVycikgeyB9Ci0KLWZ1bmN0aW9uIGxvYWRlZCgp
Ci17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0
ZVNxbCgiU0VMRUNUIENPVU5UKCopIEZST00gV2Via2l0U3RpY2t5Tm90ZXMiLCBbXSwgZnVuY3Rp
b24ocmVzdWx0KSB7Ci0gICAgICAgICAgICBsb2FkTm90ZXMoKTsKLSAgICAgICAgfSwgZnVuY3Rp
b24odHgsIGVycm9yKSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUg
V2ViS2l0U3RpY2t5Tm90ZXMgKGlkIFJFQUwgVU5JUVVFLCBub3RlIFRFWFQpIiwgW10sIGZ1bmN0
aW9uKHJlc3VsdCkgeyAKLSAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5U
TyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywgPykiLCBbMSwgJ1RleHQn
XSwgZnVuY3Rpb24ocmVzdWx0KSB7IAotICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3Fs
KCJJTlNFUlQgSU5UTyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywgPyki
LCBbMiwgJ01vcmUgVGV4dCddLCBmdW5jdGlvbihyZXN1bHQpIHsgCi0gICAgICAgICAgICAgICAg
ICAgICAgICBsb2FkTm90ZXMoKTsgCi0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1m
dW5jdGlvbiBsb2FkTm90ZXMoKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7
Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBpZCwgbm90ZSBGUk9NIFdlYktpdFN0aWNr
eU5vdGVzIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAgIGxvYWROb3Rl
cygpOwotICAgICAgICB9LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsKLSAgICAgICAgICAgIGFsZXJ0
KCdGYWlsZWQgdG8gcmV0cmlldmUgbm90ZXMgZnJvbSBkYXRhYmFzZSAtICcgKyBlcnJvci5tZXNz
YWdlKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQsIGZhbHNlKTsKLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIHdpdGhvdXQgY3Jhc2hlcyBhbmQg
YXNzZXJ0aW9uIGZhaWx1cmVzIGZvciBhIHdoaWxlLjxwPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjYwY2FmNTIzYjg3MjhlMGM1NjRkNmRhNTlhZGM2ZDI4
NmZlNTJiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDcgKzAsMCBAQAotUEFTUzogcHJvcGVydHkgJ3RpbWVzdGFtcCcgb2ssIHR5cGUg
d2FzIG51bWJlcgotUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3YXMgbnVtYmVyCi1QQVNT
OiBwcm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgotUEFTUzogcHJvcGVydHkgJ3Rl
eHQnIG9rLCB0eXBlIHdhcyBzdHJpbmcKLVBBU1M6IHByb3BlcnR5ICdibG9iJyBvaywgdHlwZSB3
YXMgc3RyaW5nCi1QQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9zcWwtZGF0YS10eXBlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDFj
OThmODQ0YzA3M2IzOWViM2E2ZDU0NWZhNDAwMzM0NGRhMWI0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEt
dHlwZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzcWwtZGF0YS10eXBlcy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwcmUgaWQ9
ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwt
ZGF0YS10eXBlcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZmY2QwMTNiNjY3
ZmJiNTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotLy9kZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgdGhlIGphdmFzY3JpcHQgdmFsdWVzIHJldHVybmVkIGJ5IGRhdGFiYXNl
IHF1ZXJpZXMgYXJlIG9mIHNhbWUgdHlwZSBhcyB0aGUgdmFsdWVzIHB1dCBpbnRvIHRoZSBkYXRh
YmFzZS4iKTsKLQotZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsg
IlxuIjsKLX0KLQotZnVuY3Rpb24gbm90aWZ5RG9uZShzdHIpIHsKLSAgICB3cml0ZU1lc3NhZ2VU
b0xvZyhzdHIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHRlc3RWYWx1ZXMg
PSB7Ci0gICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgiV2VkIEZlYiAwNiAyMDA4IDEyOjE2OjUyIEdN
VCswMjAwIChFRVQpIikudmFsdWVPZigpLAotICAgIGlkOiAxMDAxLAotICAgIHJlYWw6IDEwMS40
NDQsCi0gICAgdGV4dDogIldlYktpdCBkYiBURVhUIiwKLSAgICBibG9iOiAic3VwZXJjYWxpZnJh
Z2lsaXN0aWMiCi19OwotCi1mdW5jdGlvbiBzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUocHJvcE5h
bWUsIHRlc3RWYWx1ZSwgcmVzdWx0KSB7Ci0gICAgaWYgKHRlc3RWYWx1ZSA9PSByZXN1bHQgJiYg
dHlwZW9mIHRlc3RWYWx1ZSA9PSB0eXBlb2YgcmVzdWx0KSB7Ci0gICAgICAgIHdyaXRlTWVzc2Fn
ZVRvTG9nKCJQQVNTOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgb2ssIHR5cGUgd2FzICIg
KyB0eXBlb2YgcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHdyaXRl
TWVzc2FnZVRvTG9nKCJGQUlMOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgZmFpbGVkLiIK
LSAgICAgICAgKyAiIGV4cGVjdGVkOiAiICsgdHlwZW9mIHRlc3RWYWx1ZSArICI6JyIgKyB0ZXN0
VmFsdWUgKyAiJyAiCi0gICAgICAgICsgIiBnb3Q6ICIgKyB0eXBlb2YgcmVzdWx0ICsgIjonIiAr
IHJlc3VsdCArIiciKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIHRlc3REQlZh
bHVlcyh0eCwgcmVzdWx0KSB7Ci0gICAgdmFyIHJzID0gcmVzdWx0LnJvd3MuaXRlbSgwKTsKLSAg
ICAvLyBBdm9pZCBmb3IgLi4gaW4gYmVjYXVzZSAodGhlcmV0aWNhbGx5KSB0aGUgb3JkZXIgY2Fu
IGNoYW5nZQotICAgIGkgPSAidGltZXN0YW1wIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGks
IHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gImlkIjsgc2hvdWxkQmVTYW1lVHlwZUFu
ZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gInJlYWwiOyBzaG91bGRC
ZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOwotICAgIGkgPSAidGV4
dCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7Ci0g
ICAgaSA9ICJibG9iIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0s
IHJzW2ldKTsKLSAgICAKLSAgICB0eC5leGVjdXRlU3FsKCJEUk9QIFRBQkxFIERhdGFUeXBlVGVz
dFRhYmxlIiwgW10sCi0gICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAg
IG5vdGlmeURvbmUoIlBBU1M6IGRhdGFiYXNlIGNsZWFuIHVwIG9rLiIpOwotICAgICAgICB9LAot
ICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7Ci0gICAgICAgICAgICBub3RpZnlEb25lKCJG
QUlMOiBEYXRhYmFzZSBjbGVhbiB1cCBmYWlsZWQuIik7Ci0gICAgICAgIH0pOwotfQotCi1mdW5j
dGlvbiBmZXRjaERCVmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7Ci0gICAgdHguZXhlY3V0ZVNxbCgi
U0VMRUNUICogRlJPTSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtdLAotICAgICAgICB0ZXN0REJWYWx1
ZXMsCi0gICAgICAgIGZ1bmN0aW9uKHR4LGVycm9yKSB7Ci0gICAgICAgICAgICBub3RpZnlEb25l
KCJGQUlMOiBFcnJvciBmZXRjaGluZyB2YWx1ZXMgZnJvbSB0aGUgZGIuIikKLSAgICAgICAgfSk7
Ci19Ci0KLWZ1bmN0aW9uIGluc2VydFRlc3RWYWx1ZXNTdG10KHR4LCByZXN1bHQpIHsKLSAgICB0
eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQsIHJlYWwsIHRp
bWVzdGFtcCwgdGV4dCwgYmxvYikgVkFMVUVTICg/LD8sPyw/LD8pIiwKLSAgICAgICAgW3Rlc3RW
YWx1ZXMuaWQsIHRlc3RWYWx1ZXMucmVhbCwgdGVzdFZhbHVlcy50aW1lc3RhbXAsIHRlc3RWYWx1
ZXMudGV4dCwgdGVzdFZhbHVlcy5ibG9iXSwKLSAgICAgICAgZmV0Y2hEQlZhbHVlc1N0bXQsCi0g
ICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJ
TDogRXJyb3IgaW5zZXJ0aW5nIHZhbHVlcyB0byB0aGUgZGIuIik7Ci0gICAgICAgIH0pOwotfQot
Ci1mdW5jdGlvbiBjcmVhdGVUZXN0REJTdG10KHR4KQotewotICAgIHR4LmV4ZWN1dGVTcWwoIkNS
RUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUeXBlVGVzdFRhYmxlIChpZCBJTlRFR0VSIFVO
SVFVRSwgcmVhbCBSRUFMLCB0aW1lc3RhbXAgSU5URUdFUiwgdGV4dCBURVhULCBibG9iIEJMT0Ip
IiwgW10sCi0gICAgICAgIGluc2VydFRlc3RWYWx1ZXNTdG10LAotICAgICAgICBmdW5jdGlvbih0
eCwgZXJyb3IpIHsKLSAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGNyZWF0aW5n
IHRoZSBkYi4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICB9Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhVHlwZVRl
c3QiLCAiMS4wIiwgIkRhdGFiYXNlIGZvciBzcWwgZGF0YSB0eXBlIHRlc3QiLCAxKTsKLSAgICBp
ZiAoZGIpCi0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0ZVRlc3REQlN0bXQpOwotICAgIGVs
c2UKLSAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3Igb3BlbmluZyB0aGUgZGIiKTsKLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTE5Nzc2YTVmZjcxY2FiNTcyNjFhN2FhNDRm
MzBhOTgxNTdiNGMyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEV4Y2VwdGlvbiB0
aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IENhbm5vdCBj
YWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCi1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9y
IGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCi1QQVNTOiBleHBlY3Rl
ZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3Qg
ZXJyb3IgY29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2Rl
IFNZTlRBWF9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJS
Ci1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4
cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBn
b3QgZXJyb3IgY29kZSBWRVJTSU9OX0VSUgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3NxbC1lcnJvci1jb2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3It
Y29kZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM3MGM2Y2FmZTg4OWM3
ZThiYTRlZjA4ZjU5Mzg3ZTBkM2UxNWIxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJzcWwtZXJyb3ItY29kZXMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJz
ZXR1cEFuZFJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJvciBjb2RlcyByZXBv
cnRlZCBpbiBleGNlcHRpb25hbCBzaXR1YXRpb25zLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPgot
RkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEyNmEzYTU4NmQ4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
c3FsLWVycm9yLWNvZGVzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTE0ICswLDAgQEAKLWZ1bmN0
aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIFRP
VEFMX1RFU1RTID0gNzsKLXZhciB0ZXN0c1J1biA9IDA7Ci1mdW5jdGlvbiB0cmFuc2FjdGlvbkVy
cm9yQ2FsbGJhY2soZXJyb3IsIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKLXsKLSAgICBpZiAoZXJy
b3IuY29kZSA9PSBlcnJvcltleHBlY3RlZEVycm9yQ29kZU5hbWVdKSB7Ci0gICAgICAgIGxvZygi
UEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlICIgKyBleHBlY3RlZEVycm9yQ29kZU5h
bWUpOwotICAgICAgICBpZiAoKyt0ZXN0c1J1biA9PSBUT1RBTF9URVNUUykKLSAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBsb2coIkZBSUw6IGV4cGVjdGVk
IGVycm9yIGNvZGUgIiArIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSArICIgKCIgKyBlcnJvcltleHBl
Y3RlZEVycm9yQ29kZU5hbWVdICsgIik7IGdvdCAiICsgZXJyb3IuY29kZSk7Ci0gICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxi
YWNrKCkKLXsKLSAgICBsb2coIkZBSUw6IGEgdHJhbnNhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNj
ZXNzZnVsbHkuIik7Ci0gICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0VHJhbnNh
Y3Rpb24oZGIsIHRyYW5zYWN0aW9uQ2FsbGJhY2ssIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKLXsK
LSAgICBkYi50cmFuc2FjdGlvbih0cmFuc2FjdGlvbkNhbGxiYWNrLAotICAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9u
RXJyb3JDYWxsYmFjayhlcnJvciwgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKLSAgICAgICAgICAg
ICAgICAgICB9LCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3RUcmFuc2FjdGlvblRocm93c0V4Y2VwdGlvbihkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24o
ZGIsIGZ1bmN0aW9uKHR4KSB7IHRocm93ICJFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0aW9u
IGNhbGxiYWNrLiI7IH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0VHJhbnNh
Y3Rpb25GYWlsdXJlQmVjYXVzZU9mU3RhdGVtZW50RmFpbHVyZShkYikKLXsKLSAgICB0ZXN0VHJh
bnNhY3Rpb24oZGIsCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVNRU5UIiwgW10sIG51bGws
IGZ1bmN0aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7Ci0gICAgICAgICAgICAgICAg
ICAgIH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0SW52YWxpZFN0YXRlbWVu
dChkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1
dGVTcWwoIkJBRCBTVEFURU1FTlQiKTsgfSwgIlNZTlRBWF9FUlIiKTsKLX0KLQotZnVuY3Rpb24g
dGVzdEluY29ycmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpCi17Ci0gICAgdGVzdFRyYW5z
YWN0aW9uKGRiLAotICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg
QmFkQmluZE51bWJlclRlc3QgKEZvbyBJTlQsIEJhciBJTlQpIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kTnVtYmVyVGVzdCBWQUxV
RVMgKD8sID8pIiwgWzFdKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlNZTlRBWF9FUlIiKTsK
LX0KLQotZnVuY3Rpb24gdGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYikKLXsKLSAgICB2
YXIgYmFkU3RyaW5nID0geyB9OwotICAgIGJhZFN0cmluZy50b1N0cmluZyA9IGZ1bmN0aW9uKCkg
eyB0aHJvdyAiQ2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlzIG9iamVjdC4iIH07Ci0KLSAg
ICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmRUeXBlVGVzdCAoRm9vIFRFWFQp
Iik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEJhZEJpbmRUeXBlVGVzdCBW
QUxVRVMgKD8pIiwgW2JhZFN0cmluZ10pOwotICAgIH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1m
dW5jdGlvbiB0ZXN0UXVvdGFFeGNlZWRlZChkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIs
Ci0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBRdW90YVRlc3Qg
KEZvbyBCTE9CKSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gUXVvdGFUZXN0IFZBTFVFUyAoWkVST0JMT0IoMTAgKiAxMDI0ICogMTAyNCkpIik7
Ci0gICAgICAgICAgICAgICAgICAgIH0sICJRVU9UQV9FUlIiKTsKLX0KLQotZnVuY3Rpb24gdGVz
dFZlcnNpb25NaXNtYXRjaChkYikKLXsKLSAgICAvLyBVc2UgYW5vdGhlciBEQiBoYW5kbGUgdG8g
Y2hhbmdlIHRoZSB2ZXJzaW9uLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlIHN1cmUgdGhhdCB0
aGUgREIgdmVyc2lvbiBpcyBub3QKLSAgICAvLyBjaGFuZ2VkIGJlZm9yZSB0aGUgdHJhbnNhY3Rp
b25zIGluIHRoZSBvdGhlciB0ZXN0cyBoYXZlIHJ1biwgd2UgbmVlZCB0byBkbyBpdCBpbiBhIHRy
YW5zYWN0aW9uIG9uICdkYicuCi0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAg
ICAgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlNRTEVycm9yQ29kZXNUZXN0
IiwgIjEuMCIsICJUZXN0cyB0aGUgZXJyb3IgY29kZXMuIiwgMSk7Ci0gICAgICAgIGRiMi5jaGFu
Z2VWZXJzaW9uKCIxLjAiLCAiMi4wIiwgZnVuY3Rpb24odHgpIHsgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxvZygiRkFJTDogY291bGQgbm90IGNoYW5nZSB0aGUgREIgdmVyc2lvbi4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgfSwgZnVuY3Rpb24oKSB7IH0pOwotICAgICAgICB9KTsKLQotICAgIHRlc3RUcmFu
c2FjdGlvbihkYiwKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlRISVMgU1RBVEVNRU5UIFNIT1VMRCBORVZF
UiBHRVQgRVhFQ1VURUQiKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlZFUlNJT05fRVJSIik7
Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7Ci0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVz
VGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGVycm9yIGNvZGVzLiIsIDEpOwotICAgIHRlc3RUcmFu
c2FjdGlvblRocm93c0V4Y2VwdGlvbihkYik7Ci0gICAgdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJl
Y2F1c2VPZlN0YXRlbWVudEZhaWx1cmUoZGIpOwotICAgIHRlc3RJbnZhbGlkU3RhdGVtZW50KGRi
KTsKLSAgICB0ZXN0SW5jb3JyZWN0TnVtYmVyT2ZCaW5kUGFyYW1ldGVycyhkYik7Ci0gICAgdGVz
dEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYik7Ci0gICAgdGVzdFF1b3RhRXhjZWVkZWQoZGIp
OwotICAgIHRlc3RWZXJzaW9uTWlzbWF0Y2goZGIpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDAzZDlmMGM5Njc4NzE1OTBjMTUxNDA3MGU2MDgw
NjdlNTAxMjEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXhjZXB0
aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjawotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQg
YSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBh
IHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMg
dHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlv
biBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJy
b3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNh
bGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgot
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotVGVzdCBD
b21wbGV0ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzNzY4OTYzOGJkMmI4YmU1Yjg2YmIzM2Uw
NTZmZjA4NTU3YWQ2ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1BTEVS
VDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBh
IGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRo
ZSBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYwNDUxMDIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRo
aXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVk
IGluIHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4K
LXZhciBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgp
Ci17Ci0gICAgaWYgKCgrK3N0YXRlbWVudEVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSh0
eCwgZXJyb3IpCi17Ci0gICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQu
Iik7Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMih0
eCwgZXJyb3IpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwotICAgIGRvbmUoKTsK
LX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJs
ZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1l
bnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4i
OwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAot
ICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEodHgs
IGVycm9yKVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVu
dC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3Jp
cHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3Bl
bkRhdGFiYXNlKCdTdGF0ZW1lbnRFcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywg
JycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIg
KwotICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rp
b24odHgsIGRhdGEpIHt9LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSk7XG4iICsKLSAgICAgICAg
In0pOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJyb3JDYWxs
YmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtd
LCBmdW5jdGlvbih0eCwgZGF0YSkge30sIHN0YXRlbWVudEVycm9yQ2FsbGJhY2syKTsKLSAgICB9
KTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDZkYjgzNmQxNjE4Yjk5MzI0NTY4NTFhYzlmOGUwN2E3NmNjMTVmYWQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg3
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVzc2Fn
ZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCAr
PSBtZXNzYWdlICsgIjxicj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAgICBs
b2coIlRlc3QgQ29tcGxldGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZhciB0
eENhbGxiYWNrQ291bnQgPSAwOwotdmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsKLXZh
ciBkYXRhYmFzZTsKLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWwsIHN0
YXRlbWVudEVycm9yQ2FsbGJhY2spCi17Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElT
VFMgVGVzdFRhYmxlIChSYW5kb21EYXRhIFRFWFQpIik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwo
IklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOwotICAgICAgICB0
eC5leGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKLSAgICAgICAgICAg
IGZ1bmN0aW9uKHR4LCBkYXRhKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhpcyBz
dGF0ZW1lbnQgc2hvdWxkIGhhdmUgZmFpbGVkIik7Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVz
dCgpOwotICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIHR4
LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0MSdd
LAotICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXhw
ZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVt
ZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7Ci0gICAgICAgICAgICB9LCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAg
ICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVu
IGV4ZWN1dGVkIik7Ci0gICAgICAgICAgICB9KTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikgewot
ICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUg
dHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIGxvZygiRkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBz
aG91bGQgbm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOwotICAgICAgICBpZiAoKyt0eENhbGxiYWNr
Q291bnQgPT0gTlVNQkVSX09GX1RSQU5TQUNUSU9OUykKLSAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQotICAg
ICAgICAgICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgc2hv
dWxkIG5vdCBoYXZlIGJlZW4gaW52b2tlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
bG9nKCJQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQu
Iik7Ci0gICAgICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJ
T05TKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBy
dW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlID0gb3BlbkRhdGFi
YXNlKCJTdGF0ZW1lbnRFcnJvckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVycm9y
IGNhbGxiYWNrIHRlc3QiLCAxMDI0KTsKLQotICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0
aW9uKGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBm
dW5jdGlvbihlcnJvcikgeyB0aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxs
YmFjayI7IHJldHVybiBmYWxzZTsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rp
b24oZXJyb3IpIHsgcmV0dXJuICJzb21lIHN0cmluZyI7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9u
KHRydWUsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiAxMjM0OyB9KTsKLSAgICBydW5UcmFuc2Fj
dGlvbih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsgfSk7
Ci0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJmYWxz
ZSI7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30pOwot
ICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFsc2U7
IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4g
MDsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVy
biBudWxsOyB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRp
YXRlbHkgcm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxs
YmFjayB0aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJu
IGFueSB2YWx1ZS4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9z
dGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlZjAyN2RmYmQxYTA0MzQ2M2YyMTc2OWI3Mzcx
OWE4OGU1YmY2ZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRl
ZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFMRVJU
OiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEg
Y2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhl
IHN0YXRlbWVudCBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50
LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZjMTEzYi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJv
ZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sg
aXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PHNjcmlwdD4KLXZhciBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2tzSW52b2tlZCA9IDA7Ci1mdW5j
dGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrc0ludm9r
ZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50U3Vj
Y2Vzc0NhbGxiYWNrMSh0eCwgZGF0YSkKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBp
c29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudFN1
Y2Nlc3NDYWxsYmFjazIodHgsIGRhdGEpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIp
OwotICAgIGRvbmUoKTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQu
Ym9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIg
PSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQg
aW4gdGhpcyB3b3JsZC4iOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5J
c29sYXRlZFdvcmxkKAotICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50U3Vj
Y2Vzc0NhbGxiYWNrMSh0eCwgZGF0YSlcbiIgKwotICAgICAgICAie1xuIiArCi0gICAgICAgICIg
ICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCi0gICAgICAgICIgICAgd2luZG93Lmxv
Y2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKLSAgICAgICAgIn1cbiIgKwotICAgICAg
ICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrSXNvbGF0
ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHtcbiIgKwotICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBU
QUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3ND
YWxsYmFjazEpO1xuIiArCi0gICAgICAgICJ9KTsiKTsKLQotICAgIHZhciBkYjIgPSBvcGVuRGF0
YWJhc2UoJ1N0YXRlbWVudFN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcn
LCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhl
Y3V0ZVNxbCgnQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCknLCBbXSwg
c3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrMik7Ci0gICAgfSk7Ci19Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxs
YmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjE5MDI0NDE3OGMz
ZWEyZGQ5M2E1NjIzMDJhODA2ZWE4NDg5ODRmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFjay1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRoaXMgdGVzdCBjb25m
aXJtcyB0aGF0IGEgc3VjY2Vzc2Z1bCB0cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0aG91
dCBhIHN0YXRlbWVudCAtIHJlY2VpdmVzIGl0cyBzdWNjZXNzQ2FsbGJhY2sKLVRyYW5zYWN0aW9u
IHN1Y2NlZWRlZCAtIFRyYW5zYWN0aW9uIHdpdGggb25lIHN0YXRlbWVudAotVHJhbnNhY3Rpb24g
c3VjY2VlZGVkIC0gRW1wdHkgdHJhbnNhY3Rpb24KLVRlc3QgQ29tcGxldGUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzIzN2FiYTgyZTMwOTcyNDgxYWFiYjcwNTBkNWEyMTQ2ZTI1YzNmYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3N1Y2Nlc3MtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsg
Ijxicj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAgICBsb2coIlRlc3QgQ29t
cGxldGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9yRnVu
Y3Rpb24oZXJyb3IpCi17Ci0gICAgbG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNzYWdl
KTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzQ291bnQgPSAwOwotCi1mdW5j
dGlvbiBzdWNjZXNzRnVuY3Rpb24obWVzc2FnZSkKLXsKLSAgICBsb2coIlRyYW5zYWN0aW9uIHN1
Y2NlZWRlZCAtICIgKyBtZXNzYWdlKTsKLSAgICBpZiAoKytzdWNjZXNzQ291bnQgPT0gMikKLSAg
ICAgICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIH0KLSAgICAKLSAgICB2YXIgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIlN1Y2Nlc3ND
YWxsYmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBzdWNjZXNzIGNhbGxiYWNrIDxyZGFy
Oi8vNTczNzY5Mj4iLCAxKTsKLSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkg
eyB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBTdWNjZXNzQ2FsbGJh
Y2tUZXN0IChyYW5kb21EYXRhKSIsIFtdKTsgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rpb24oKSB7
IHN1Y2Nlc3NGdW5jdGlvbigiVHJhbnNhY3Rpb24gd2l0aCBvbmUgc3RhdGVtZW50Iik7IH0pOwot
ICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIGVycm9yRnVuY3Rpb24s
IGZ1bmN0aW9uKCkgeyBzdWNjZXNzRnVuY3Rpb24oIkVtcHR5IHRyYW5zYWN0aW9uIik7IH0pOwot
fQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhp
cyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSBzdWNjZXNzZnVsIHRyYW5zYWN0aW9uIC0gYm90aCB3aXRo
IGFuZCB3aXRob3V0IGEgc3RhdGVtZW50IC0gcmVjZWl2ZXMgaXRzIHN1Y2Nlc3NDYWxsYmFjawot
PHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0MGY2
M2MwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDY4ICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGUgZGF0YWJhc2UgYXV0aG9yaXpl
ci4KLVNRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVB
VEVfSU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50
IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQu
Ci1TUUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVB
VEVfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKLVNRTElURV9SRUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfU0VMRUNUIHN0YXRl
bWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfREVMRVRFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJ
VEVfSU5TRVJUIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfVVBEQVRFIHN0YXRlbWVudCBz
dWNjZWVkZWQuCi1TUUxJVEVfUFJBR01BIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQUxURVJfVEFCTEUgc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgotU1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQVRUQUNIIHN0YXRlbWVudCBm
YWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1T
UUxJVEVfREVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgotU1FMSVRFX0FOQUxZWkUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBz
dWNjZWVkZWQuCi1TUUxJVEVfRFJPUF9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1T
UUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9EUk9Q
X1RFTVBfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVFJJR0dFUiBzdGF0
ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgot
U1FMSVRFX0RST1BfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVdyaXRlIHRyYW5zYWN0aW9u
IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9U
QUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQot
U1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVEVNUF9UUklH
R0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3Qg
YXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQ1JF
QVRFX1RSSUdHRVIgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVf
Q1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1T
UUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NS
RUFURV9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVFJJR0dF
UiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX1JFQUQgc3RhdGVt
ZW50IHN1Y2NlZWRlZC4KLVNRTElURV9TRUxFQ1Qgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElU
RV9ERUxFVEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgy
MyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9JTlNFUlQgc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9VUERBVEUg
c3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0
aG9yaXplZCkKLVNRTElURV9QUkFHTUEgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBh
cmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BTFRFUl9UQUJMRSBzdGF0
ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3Jp
emVkKQotU1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMSBubyBzdWNoIHRhYmxlOiBUZXN0VGFibGUpCi1TUUxJVEVfVFJBTlNB
Q1RJT04gc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKLVNRTElURV9BVFRBQ0ggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9ERVRBQ0ggc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKLVNRTElURV9SRUlOREVYIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQU5BTFlaRSBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQot
U1FMSVRFX0RST1BfSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX1RFTVBfVEFCTEUgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKLVNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RST1BfVEVNUF9W
SUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90
IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9W
SUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90
IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBu
b3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotUmVhZCB0cmFuc2FjdGlv
bnMgc3VjY2VlZGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0
aG9yaXplci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXIuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJhZjEwYWE0NzUwMGE0ZjNjZjMxMjRjNzY3
MTczMTc5ZTg5NDM0Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXplci5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ0ZXN0LWF1dGhv
cml6ZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRl
c3QoKTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLjxicj4KLTxw
cmUgaWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9y
aXplci5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTA4Yzg5ZGY1NGEzYjZjNGE4NjNjMDFkZjg5ZjQ3NTFj
Y2M5MTg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTUzICswLDAgQEAKLWZ1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKLX0KLQotZnVuY3Rpb24gbG9nQW5kVGVybWluYXRlVGVzdChtZXNzYWdlLCBlcnJv
cikKLXsKLSAgICBsb2cobWVzc2FnZSArICI6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICB0ZXJt
aW5hdGVUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGNsZWFudXAoZGIpCi17Ci0gICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgVEFC
TEUgSUYgRVhJU1RTIFRlc3Q7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJEUk9QIElO
REVYIElGIEVYSVNUUyBUZXN0SW5kZXg7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJE
Uk9QIFZJRVcgSUYgRVhJU1RTIFRlc3RWaWV3OyIpOwotICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiRFJPUCBUUklHR0VSIElGIEVYSVNUUyBUZXN0VHJpZ2dlcjsiKTsKLSAgICAgICAgfSwgZnVu
Y3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiQ2xlYW51cCBmYWlsZWQiLCBlcnJv
cik7IH0pOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soc3RhdGVtZW50
VHlwZSkKLXsKLSAgICBsb2coc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IHN1Y2NlZWRlZC4i
KTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjayhzdGF0ZW1lbnRUeXBlLCBl
cnJvcikKLXsKLSAgICBsb2coc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiAr
IGVycm9yLm1lc3NhZ2UpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0
ZVN0YXRlbWVudCh0eCwgc3RhdGVtZW50LCBvcGVyYXRpb24pCi17Ci0gICAgdHguZXhlY3V0ZVNx
bChzdGF0ZW1lbnQsIFtdLAotICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7IHN0
YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhvcGVyYXRpb24pOyB9LAotICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24odHgsIGVycm9yKSB7IHJldHVybiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKG9wZXJh
dGlvbiwgZXJyb3IpOyB9KTsKLX0KLQotZnVuY3Rpb24gY3JlYXRlVGFibGVDYWxsYmFjayh0eCkK
LXsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRBQkxFIFRlc3QgKEZvbyBpbnQp
OyIsICJTUUxJVEVfQ1JFQVRFX1RBQkxFIik7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZVN0YXRlbWVu
dHNDYWxsYmFjayh0eCkKLXsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIElOREVY
IFRlc3RJbmRleCBPTiBUZXN0IChGb28pOyIsICJTUUxJVEVfQ1JFQVRFX0lOREVYIik7Ci0KLSAg
ICAvLyBFdmVuIHRob3VnaCB0aGUgZm9sbG93aW5nIHF1ZXJ5IHNob3VsZCB0cmlnZ2VyIGEgU1FM
SVRFX0NSRUFURV9URU1QX0lOREVYIG9wZXJhdGlvbgotICAgIC8vIChhY2NvcmRpbmcgdG8gaHR0
cDovL3d3dy5zcWxpdGUub3JnL3RlbXBmaWxlcy5odG1sKSwgaXQgZG9lc24ndCwgYW5kIEknbSBu
b3QgYXdhcmUKLSAgICAvLyBvZiBhbnkgb3RoZXIgd2F5IHRvIHRyaWdnZXIgdGhpcyBvcGVyYXRp
b24uIFNvIHdlJ2xsIHNraXAgaXQgZm9yIG5vdy4KLSAgICAvL2V4ZWN1dGVTdGF0ZW1lbnQodHgs
ICJTRUxFQ1QgKiBGUk9NIFRlc3QgV0hFUkUgRm9vIElOICgxLCAyLCAzKTsiLCAiU1FMSVRFX0NS
RUFURV9URU1QX0lOREVYIik7Ci0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRF
TVAgVEFCTEUgVGVzdFRlbXBUYWJsZSAoRm9vIGludCk7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9U
QUJMRSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVNUCBUUklHR0VSIFRl
c3RUZW1wVHJpZ2dlciBJTlNFUlQgT04gVGVzdCBCRUdJTiBTRUxFQ1QgQ09VTlQoKikgRlJPTSBU
ZXN0OyBFTkQ7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9UUklHR0VSIik7Ci0gICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFZJRVcgVGVzdFRlbXBWaWV3IEFTIFNFTEVDVCBDT1VO
VCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9WSUVXIik7Ci0gICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBUUklHR0VSIFRlc3RUcmlnZ2VyIElOU0VSVCBPTiBUZXN0
IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IEVORDsiLCAiU1FMSVRFX0NSRUFURV9U
UklHR0VSIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSUVXIFRlc3RWaWV3
IEFTIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9DUkVBVEVfVklFVyIpOwot
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVklSVFVBTCBUQUJMRSBUZXN0VmlydHVh
bFRhYmxlIFVTSU5HIE1pc3NpbmdNb2R1bGU7IiwgIlNRTElURV9DUkVBVEVfVlRBQkxFIik7Ci19
Ci0KLWZ1bmN0aW9uIG90aGVyU3RhdGVtZW50c0NhbGxiYWNrKHR4KQotewotICAgIGV4ZWN1dGVT
dGF0ZW1lbnQodHgsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyIsICJTUUxJVEVfUkVBRCIp
OwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyIs
ICJTUUxJVEVfU0VMRUNUIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRFTEVURSBGUk9N
IFRlc3Q7IiwgIlNRTElURV9ERUxFVEUiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiSU5T
RVJUIElOVE8gVGVzdCBWQUxVRVMgKDEpOyIsICJTUUxJVEVfSU5TRVJUIik7Ci0gICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIlVQREFURSBUZXN0IFNFVCBGb28gPSAyIFdIRVJFIEZvbyA9IDE7Iiwg
IlNRTElURV9VUERBVEUiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUFJBR01BIGNhY2hl
X3NpemU7IiwgIlNRTElURV9QUkFHTUEiKTsKLQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJB
TFRFUiBUQUJMRSBUZXN0IFJFTkFNRSBUTyBUZXN0VGFibGU7IiwgIlNRTElURV9BTFRFUl9UQUJM
RSIpOwotICAgIC8vIFJlbmFtZSB0aGUgdGFibGUgYmFjayB0byBpdHMgb3JpZ2luYWwgbmFtZQot
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJBTFRFUiBUQUJMRSBUZXN0VGFibGUgUkVOQU1FIFRv
IFRlc3Q7IiwgIlNRTElURV9BTFRFUl9UQUJMRSIpOwotCi0gICAgZXhlY3V0ZVN0YXRlbWVudCh0
eCwgIkJFR0lOIFRSQU5TQUNUSU9OOyIsICJTUUxJVEVfVFJBTlNBQ1RJT04iKTsKLSAgICBleGVj
dXRlU3RhdGVtZW50KHR4LCAiQVRUQUNIIG1haW4gQVMgVGVzdE1haW47IiwgIlNRTElURV9BVFRB
Q0giKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVUQUNIIFRlc3RNYWluOyIsICJTUUxJ
VEVfREVUQUNIIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlJFSU5ERVg7IiwgIlNRTElU
RV9SRUlOREVYIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFOQUxZWkU7IiwgIlNRTElU
RV9BTkFMWVpFIik7Ci0KLSAgICAvLyBTUUxJVEVfRlVOQ1RJT046IGFsbG93ZWQgd3JpdGUgbW9k
ZQotICAgIC8vIFRoZXJlIGlzIG5vIFNRTC9KYXZhc2NyaXB0IEFQSSB0byBhZGQgdXNlci1kZWZp
bmVkIGZ1bmN0aW9ucyB0byBTUUxpdGUsCi0gICAgLy8gc28gd2UgY2Fubm90IHRlc3QgdGhpcyBv
cGVyYXRpb24KLX0KLQotZnVuY3Rpb24gZHJvcFN0YXRlbWVudHNDYWxsYmFjayh0eCkKLXsKLSAg
ICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBJTkRFWCBUZXN0SW5kZXg7IiwgIlNRTElURV9E
Uk9QX0lOREVYIik7Ci0KLSAgICAvLyBTUUxJVEVfRFJPUF9URU1QX0lOREVYOiBhbGxvd2VkIGlu
IHdyaXRlIG1vZGUKLSAgICAvLyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB0ZW1wIGluZGV4
ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZHJvcHBlZCB3aGVuCi0gICAgLy8gdGhlIGRhdGFiYXNlIGlz
IGNsb3NlZCwgYnV0IEhUTUw1IGRvZXNuJ3Qgc3BlY2lmeSBhIGNsb3NlRGF0YWJhc2UoKSBjYWxs
LgotCi0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVEFCTEUgVGVzdFRlbXBUYWJsZTsi
LCAiU1FMSVRFX0RST1BfVEVNUF9UQUJMRSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJE
Uk9QIFRSSUdHRVIgVGVzdFRlbXBUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIi
KTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBWSUVXIFRlc3RUZW1wVmlldzsiLCAi
U1FMSVRFX0RST1BfVEVNUF9WSUVXIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1Ag
VFJJR0dFUiBUZXN0VHJpZ2dlcjsiLCAiU1FMSVRFX0RST1BfVFJJR0dFUiIpOwotICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFZpZXc7IiwgIlNRTElURV9EUk9QX1ZJRVci
KTsKLQotICAgIC8vIFNRTElURV9EUk9QX1ZUQUJMRTogYWxsb3dlZCBpbiB3cml0ZSBtb2RlCi0g
ICAgLy8gTm90IHN1cmUgaG93IHRvIHRlc3QgdGhpczogd2UgY2Fubm90IGNyZWF0ZSBhIHZpcnR1
YWwgdGFibGUgYmVjYXVzZSB3ZSBkbyBub3QKLSAgICAvLyBoYXZlIFNRTC9KYXZhc2NyaXB0IEFQ
SXMgdG8gcmVnaXN0ZXIgYSBtb2R1bGUgdGhhdCBpbXBsZW1lbnRzIGEgdmlydHVhbCB0YWJsZS4K
LSAgICAvLyBUaGVyZWZvcmUsIHRyeWluZyB0byBkcm9wIGEgdmlydHVhbCB0YWJsZSB3aWxsIGFs
d2F5cyBmYWlsIChubyBzdWNoIHRhYmxlKQotICAgIC8vIGJlZm9yZSBldmVuIGdldHRpbmcgdG8g
dGhlIGF1dGhvcml6ZXIuCi0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBU
ZXN0OyIsICJTUUxJVEVfRFJPUF9UQUJMRSIpOwotfQotCi1mdW5jdGlvbiB0ZXN0UmVhZFdyaXRl
TW9kZShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAg
ICAgY3JlYXRlVGFibGVDYWxsYmFjayh0eCk7Ci0gICAgICAgICAgICBjcmVhdGVTdGF0ZW1lbnRz
Q2FsbGJhY2sodHgpOwotICAgICAgICAgICAgb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpOwot
ICAgICAgICAgICAgZHJvcFN0YXRlbWVudHNDYWxsYmFjayh0eCk7Ci0gICAgICAgIH0sCi0gICAg
ICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIldyaXRlIHRyYW5zYWN0
aW9uIGZhaWxlZCIsIGVycm9yKTsgfSwKLSAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiV3JpdGUg
dHJhbnNhY3Rpb24gc3VjY2VlZGVkLiIpOyB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdFJlYWRPbmx5
TW9kZShkYikKLXsKLSAgICAvLyBUZXN0IHRoZSAnQ1JFQVRFIFRBQkxFJyBvcGVyYXRpb247IGl0
IHNob3VsZCBiZSBkaXNhbGxvd2VkCi0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGNyZWF0ZVRhYmxl
Q2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3Qo
IlJlYWQgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKLQot
ICAgIC8vIEluIG9yZGVyIHRvIHRlc3QgYWxsIG90aGVyICdDUkVBVEUnIG9wZXJhdGlvbnMsIHdl
IG11c3QgY3JlYXRlIHRoZSB0YWJsZSBmaXJzdAotICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0ZVRh
YmxlQ2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRl
c3QoIldyaXRlICdDUkVBVEUgVEFCTEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7
Ci0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGNyZWF0ZVN0YXRlbWVudHNDYWxsYmFjaywKLSAgICAg
ICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnQ1JFQVRFJyB0
cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwotCi0gICAgLy8gSW4gb3JkZXIgdG8gdGVz
dCB0aGUgJ0RST1AnIGFuZCAnb3RoZXInIG9wZXJhdGlvbnMsIHdlIG5lZWQgdG8gZmlyc3QgY3Jl
YXRlIHRoZSByZXNwZWN0aXZlIGVudGl0aWVzCi0gICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlU3Rh
dGVtZW50c0NhbGxiYWNrLAotICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5h
dGVUZXN0KCJXcml0ZSAnQ1JFQVRFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwot
ICAgIGRiLnJlYWRUcmFuc2FjdGlvbihvdGhlclN0YXRlbWVudHNDYWxsYmFjaywKLSAgICAgICAg
ZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnb3RoZXInIHRyYW5z
YWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Ci0KLSAgICAvLyBIYWNrOiBpbnNlcnQgYW4gZW1w
dHkgd3JpdGUgdHJhbnNhY3Rpb24gdG8gZ3VhcmF0ZWUgdGhhdCB0aGVzZSB0cmFuc2FjdGlvbnMg
YXJlIGV4ZWN1dGVkIHNlcXVlbnRpYWxseQotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7IH0pOwotICAgIGRiLnJlYWRUcmFuc2FjdGlvbihkcm9wU3RhdGVtZW50c0NhbGxiYWNrLAot
ICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdEUk9Q
JyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0sCi0gICAgICAgIGZ1bmN0aW9uKCkgeyBs
b2coIlJlYWQgdHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4iKTsgdGVybWluYXRlVGVzdCgpOyB9KTsK
LX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlV2l0
aFN1ZmZpeCgiQXV0aG9yaXplclRlc3QiLCAiMS4wIiwgIlRlc3RzIHRoZSBkYXRhYmFzZSBhdXRo
b3JpemVyLiIsIDMyNzY4KTsKLSAgICBjbGVhbnVwKGRiKTsKLSAgICB0ZXN0UmVhZFdyaXRlTW9k
ZShkYik7Ci0gICAgdGVzdFJlYWRPbmx5TW9kZShkYik7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlv
bi1jcmFzaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4OGM3
NDI2MDVlMzRkZGI5ODhlODkzM2MzNGUwNDNhMzNhYzI0ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlv
bi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgot
SWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFz
aC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRp
b24tY3Jhc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJjYzczMmJiOGYy
YjUzZWNiNDQ4MWE3OTk3NWUyY2NmNzFjY2RjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotdmFyIGRiID0gb3BlbkRhdGFiYXNl
KCIxNTk3NlRlc3QiLCAiMS4wIiwgIlRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1OTc2IiwgMSk7Ci1kYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewot
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICB3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0sIDAp
OwotICAgdGhyb3cgIlRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvciI7Ci19KTsKLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBw
YXNzZWQKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
dHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZjQ3NGY3YmM2ZWE3OGE5MjE3
Yjk4ZDA4YjliMjVhNzEyZWZlNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFM
RVJUOiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGlu
IGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQg
dGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgy
NWQ3MDAzNDA0Mjg0NmVmZDRkMWQ5NTgzYjcyZTJlNTk1MmJiYS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMg
dGhhdCB0aGUgdHJhbnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3Js
ZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLXZhciB0cmFuc2FjdGlvbkNh
bGxiYWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3RyYW5z
YWN0aW9uQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1m
dW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMSh0eCkKLXsKLSAgICBhbGVydCgiRkFJTDogVmlz
aWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHRy
YW5zYWN0aW9uQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsK
LSAgICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJv
ZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFyID0g
IlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGlu
IHRoaXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNv
bGF0ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIHRyYW5zYWN0aW9uQ2Fs
bGJhY2sxKHR4KVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1
bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFz
Y3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0g
b3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywg
JycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24odHJhbnNhY3Rpb25DYWxsYmFj
azEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxsYmFj
a0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24odHJh
bnNhY3Rpb25DYWxsYmFjazIpOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZmIzM2JkOWFi
N2QwNzdjNWRkNjNjMDA3OThlM2Q2NzUwMDlmMzE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDYzOiBbb2JqZWN0IE9iamVjdF0KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVz
cyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9u
IGZhaWx1cmUuCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3Ig
Y2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZh
aWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUwot
VGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBj
YWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3Rpbmcgc3RhdGVtZW50IGNhbGxi
YWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNl
IDogU1VDQ0VTUwotQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZGExNTM5NjY3OGQ5ZWJmMzE1MmQ4ZTljODRkM2MxNGNiNGU5ZjI3NS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotQUxFUlQ6IHVuZGVmaW5lZAotQUxFUlQ6IFBB
U1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRo
aXMgd29ybGQuCi1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2Fs
bGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjE4OTRkMmVh
Mjc1OGFlOTFmOTczOWE3YjU1NWQ1YzZlMzJkY2IxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMgdGVzdCB0ZXN0cyB0
aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0
IHdvcmxkLgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5zYWN0
aW9uRXJyb3JDYWxsYmFja3NJbnZva2VkID0gMDsKLWZ1bmN0aW9uIGRvbmUoKQotewotICAgIGlm
ICgoKyt0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOwotfQotCi1mdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KQotewot
ICAgIGFsZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUo
KTsKLX0KLQotZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMih0eCkKLXsKLSAgICBh
bGVydChkb2N1bWVudC5ib2R5LmJhcik7Ci0gICAgZG9uZSgpOwotfQotCi1kb2N1bWVudC5ib2R5
LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxk
LiI7Ci1kb2N1bWVudC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxl
IGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7Ci0KLWlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERh
dGFiYXNlcygpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCi0gICAgICAgIDAsCi0gICAgICAg
ICJmdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KVxuIiArCi0gICAgICAgICJ7
XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAg
ICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAg
ICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkVy
cm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAg
ImRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkge1xuIiArCi0gICAgICAgICIgICAgdHguZXhl
Y3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1bmN0
aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7XG4iICsKLSAgICAgICAgIn0sIHRyYW5z
YWN0aW9uRXJyb3JDYWxsYmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgn
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOwot
ICAgIGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRlU3Fs
KCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgZnVuY3Rpb24odHgs
IGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICB9LCB0cmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2syKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5MGIyZWQwMzRmZDk1YTdiYWU1MmEwODZlOWEyZWU1ZWJjZGVmNzcy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEwNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
bG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5p
bm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotLy8gc2lnbmFsIHRvIGxheW91dFRl
c3RDb250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHplcm8uCi12YXIgdGVzdENvdW50ID0gNDsK
LS8vIHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0aGUgbnVtYmVyIG9mIHJvd3MgYWxyZWFk
eSBpbiBvdXIgdGVzdCBkYXRhYmFzZS4KLS8vIG91ciBnb2FsIGlzIHRvIGtlZXAgdGhlIG51bWJl
ciB1bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCi12YXIgaW5pdGlhbFJvd0NvdW50ID0gMDsK
LXZhciBkYXRhYmFzZTsKLXZhciBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQ7Ci0KLWZ1bmN0aW9uIGZp
bmlzaFRlc3QoKQotewotICAgIGlmICgtLXRlc3RDb3VudCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgbG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIpOwotCi0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotfQotCi1mdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKQotewotICAgIHN1Y2Nlc3NDYWxs
YmFja0NhbGxlZCA9IHRydWU7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeVN1Y2Nlc3MobXNnKQotewot
ICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50IEZST00gRXJyb3JDYWxsYmFja1Rl
c3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2cobXNn
ICsgIiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50ID09IGluaXRpYWxSb3dDb3VudCAmJiAh
c3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1MiIDogIkZBSUxVUkUiKSk7Ci0gICAgICAg
ICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBm
YWlsTWlkV2F5KGVycm9yQ2FsbGJhY2spCi17Ci0gICAgc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID0g
ZmFsc2U7Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpCi0gICAgewotICAg
ICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBFcnJvckNhbGxiYWNrVGVzdChzb21lVmFs
dWUpIFZBTFVFUyg/KTsiLCBbIDEgXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIk1VVFRFUiBT
T01FVEhJTkcgSUxMRUdJQkxFIik7Ci0gICAgfSwgZXJyb3JDYWxsYmFjaywgc3VjY2Vzc0NhbGxi
YWNrKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50Q2FsbGJhY2tUaHJvd3NFeGNlcHRpb24oZXJy
b3JDYWxsYmFjaykKLXsKLSAgICBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPSBmYWxzZTsKLSAgICBk
YXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKLSAgICB7Ci0gICAgICAgIHR4LmV4ZWN1
dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0KHNvbWVWYWx1ZSkgVkFMVUVTKD8p
OyIsIFsgMSBdLCBmdW5jdGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRocm93IHt9Owot
ICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICB9Ci0KLSAgICBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRXJyb3JDYWxsYmFja0Rh
dGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBjYWxsYmFjayIsIDEpOwotICAgIGRhdGFi
YXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJyb3JDYWxsYmFja1Rlc3QgKHNvbWVWYWx1
ZSkiLCBbXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBjb3VudCgqKSBBUyBjb3Vu
dCBGUk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1bmN0aW9uKHR4LCBycykKLSAgICAgICAg
ewotICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0gcnMucm93cy5pdGVtKDApLmNvdW50Owot
ICAgICAgICB9KTsKLSAgICB9KTsKLQotICAgIGZhaWxNaWRXYXkoZnVuY3Rpb24oKSB7IHJldHVy
biB0cnVlOyB9KTsKLSAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxp
bmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKLSAgICBmYWls
TWlkV2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3Mo
IlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayBy
ZXR1cm4gZmFsc2UiKTsKLSAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihmdW5j
dGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3Rpbmcgc3Rh
dGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0
dXJuaW5nIHRydWUiKTsKLSAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihmdW5j
dGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKLSAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHN0
YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJl
dHVybmluZyBmYWxzZSIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgPGNvZGU+U1FMVHJhbnNhY3Rp
b25FcnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVz
cyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9u
IGZhaWx1cmUuCi08cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQyN2Y0YWNlNzM4MzNiNWU2ZWM0Njg2YWZl
NzA1OTY0M2JmMWQ4Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1B
TEVSVDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBp
biBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0
IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQg
d29ybGQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3Vj
Y2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhMmRmOTRiMzRhZDU4NmI0MDc2MzQyMGMwYzcwMzY5M2Qy
MTc4MmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gc3Vj
Y2VzcyBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrc0lu
dm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3RyYW5zYWN0aW9uU3Vj
Y2Vzc0NhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sxKHR4KQotewotICAgIGFsZXJ0KCJGQUlM
OiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rp
b24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3VtZW50
LmJvZHkuYmFyKTsKLSAgICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6
IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50
LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFj
ayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0
ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIHRy
YW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eClcbiIgKwotICAgICAgICAie1xuIiArCi0gICAg
ICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCi0gICAgICAgICIgICAgd2lu
ZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKLSAgICAgICAgIn1cbiIgKwot
ICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJh
Y2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAgImRiMS50cmFu
c2FjdGlvbihmdW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFj
azEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNjZXNz
Q2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7Ci0gICAgZGIyLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIG51bGwsIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMik7
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
OTM5ZTM2NTBjNTU3M2ZiOWY4ZGQwNzZlZGMyMTkyZjk4N2Y3MWVlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIEpTIGRhdGFiYXNl
LmNoYW5nZVZlcnNpb24oKSBmdW5jdGlvbiB3b3JrcyBhcyBleHBlY3RlZC4KK0ZpbmlzaGVkIHRl
c3RzIHdpdGggdmVyc2lvbiAzOyBleHBlY3RlZCB2ZXJzaW9uOiAzCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhh
bmRsZS1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNzY0ODFi
MzRlYzI4NTYxZGUwMjcyMzRjNTk3ZjllNGY4OWExNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0ZXN0cyB0aGF0IGEgZGF0YWJhc2UgY2FuIGJl
IGFjY2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hvdWxkIHNlZSBhbiBl
cnJvciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNtYXRjaGluZyB2ZXJz
aW9ucy4KK2NoYW5nZVZlcnNpb246IHRyYW5zYWN0aW9uIGNhbGxiYWNrCitjaGFuZ2VWZXJzaW9u
OiBzdWNjZXNzIGNhbGxiYWNrCit0cmFuc2FjdGlvbjogc3RhdGVtZW50IGVycm9yIGNhbGxiYWNr
OiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogRm9vQmFyKQor
VEVTVCBDT01QTEVURS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
Y2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjNmYmY0
ODRkN2E4NWEzNDkwYjUxNWI3MDg5NTQ0YWVlMDg2ZmExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwK
QEAgLTAsMCArMSwxMiBAQAorPGh0bWw+IAorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iY2hhbmdlLXZlcnNp
b24taGFuZGxlLXJldXNlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4gCis8Ym9keSBvbmxvYWQ9InNl
dHVwQW5kUnVuVGVzdCgpIj4gCis8ZGl2PlRoaXMgdGVzdHMgdGhhdCBhIGRhdGFiYXNlIGNhbiBi
ZSBhY2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBpdHMgdmVyc2lvbi4gWW91IHNob3VsZCBzZWUgYW4g
ZXJyb3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJlbG93LCBub3QgYWJvdXQgbWlzbWF0Y2hpbmcgdmVy
c2lvbnMuCis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8
L3ByZT4gCis8L2JvZHk+IAorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0
N2E1OGMzYjkxZmYyYzUwODBmMmM5MjBhNWQ0MWFiY2I1Y2UyYTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2Uu
anMKQEAgLTAsMCArMSw0NiBAQAorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9nKCJU
RVNUIENPTVBMRVRFLiIpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlv
biBydW5UZXN0KCkKK3sKKyAgICB0cnkgeworICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZVdpdGhT
dWZmaXgoIkNoYW5nZVZlcnNpb24iLCAiIiwgIlRlc3QgdGhhdCBjaGFuZ2luZyBhIGRhdGFiYXNl
IHZlcnNpb24gZG9lc24ndCBraWxsIG91ciBoYW5kbGUgdG8gaXQiLCAxKTsKKyAgICAgICAgdmFy
IHZlcnNpb24gPSBkYi52ZXJzaW9uOworICAgICAgICB2YXIgbmV3VmVyc2lvbiA9IHZlcnNpb24g
PyAocGFyc2VJbnQodmVyc2lvbikgKyAxKS50b1N0cmluZygpIDogIjEiOyAKKyAgICAgICAgZGIu
Y2hhbmdlVmVyc2lvbih2ZXJzaW9uLCBuZXdWZXJzaW9uLCBmdW5jdGlvbih0eCkgeworICAgICAg
ICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlvbiBjYWxsYmFjayIpOworICAgICAg
ICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBl
cnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICB9LCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjayIpOwor
ICAgICAgICAgICAgcnVuVGVzdDIoKTsKKyAgICAgICAgfSk7CisgICAgICAgIAorICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uIGV4Y2VwdGlvbjogIiArIGUpOwor
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorIAorZnVuY3Rpb24gcnVuVGVzdDIoKQor
eworICAgIHRyeSB7CisgICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAg
ICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBmcm9tIEZvb0JhciIsIFtdLCBmdW5jdGlv
bih0eCkgeworICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBjYWxs
YmFjayIpOworICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIH0sIGZ1
bmN0aW9uKHR4LCBlcnJvcikgeworICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0
YXRlbWVudCBlcnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGxvZygidHJhbnNhY3Rpb24gZXhjZXB0aW9uOiAiICsgZSk7Cisg
ICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVy
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lv
bi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmIwZDU0OWNiMGNkNDdkZmE4NjYxZTZlNmM1OTg5MDQzYjk5YzMzMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9u
LXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJz
aW9uKCkncyBwcmVmbGlnaHQgc3RlcCBmYWlscy4KK1BBU1M6IGRiLmNoYW5nZVZlcnNpb24oKSBm
YWlsZWQgYXMgZXhwZWN0ZWQsIGFuZCBubyBhc3NlcnRpb25zIHdlcmUgdHJpZ2dlcmVkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1j
cmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yYTUxMmZiOWFjOTFkZmI0ZGEyYzhmMmU4MzZkYmM1MDg3NjU5MTIwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8t
Y3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9
CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2
YXIgZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJDaGFuZ2VWZXJzaW9uRmFpbHVyZVRlc3QiLCAi
MSIsICJUZXN0IHRoZSBwcmVmbGlnaHQgc3RlcCIsIDEwMjQpOworICAgIGRiLmNoYW5nZVZlcnNp
b24oIjIiLCAiMyIsIG51bGwsIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgIGxvZygiUEFTUzog
ZGIuY2hhbmdlVmVyc2lvbigpIGZhaWxlZCBhcyBleHBlY3RlZCwgYW5kIG5vIGFzc2VydGlvbnMg
d2VyZSB0cmlnZ2VyZWQuIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9LCBmdW5jdGlv
bigpIHsKKyAgICAgICAgbG9nKCJGQUlMOiBkYi5jaGFuZ2VWZXJzaW9uKCkgd2FzIGV4cGVjdGVk
IHRvIGZhaWwuIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJzaW9uKCkncyBw
cmVmbGlnaHQgc3RlcCBmYWlscy4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZl
cnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzliYjlkZjU4OGI5NGNkZGMwM2IyZjc5YWM5YWE0ZjA2NjQ2Yjk1YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJz
aW9uLmh0bWwKQEAgLTAsMCArMSwxMDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVzdCBk
YXRhYmFzZS5jaGFuZ2VWZXJzaW9uPC90aXRsZT4KKzxzY3JpcHQ+Cit2YXIgZGIxOwordmFyIEVY
UEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCA9ICcyJzsKK3ZhciBFWFBFQ1RFRF9WRVJT
SU9OX0FGVEVSX1JFTE9BRCA9ICczJzsKKworZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsgfQor
CitmdW5jdGlvbiBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2sodHgpCit7CisgICAgdHguZXhlY3V0ZVNx
bCgiRFJPUCB0YWJsZSBpZiBleGlzdHMgaW5mbzsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlG
dW5jdGlvbik7CisgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIHRhYmxlIGlmIG5vdCBleGlzdHMg
aW5mbyAodmVyc2lvbiBJTlRFR0VSKTsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlv
bik7CisgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIGludG8gaW5mbyB2YWx1ZXMoPyk7IiwgW0VY
UEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlv
bik7Cit9CisKK2Z1bmN0aW9uIGNoYW5nZVZlcnNpb25TdWNjZXNzKCkKK3sKKyAgICBsb2coIlN1
Y2Nlc3NmdWxseSBjaGFuZ2VkIHZlcnNpb24gdG8gIiArIGRiMS52ZXJzaW9uICsgIi4gUmVsb2Fk
aW5nLiIpOworICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsgJz8y
JzsKK30KKworZnVuY3Rpb24gY2hhbmdlVmVyc2lvbkVycm9yKGVycm9yKQoreworICAgIGxvZygi
RXJyb3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0
aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBsb2coIlRF
U1QgQ09NUExFVEUiKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7
Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2Vh
cmNoID09ICI/MiIpIHsKKyAgICAgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdl
dmVyc2lvbi10ZXN0IiwgIiIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigp
IGZ1bmN0aW9uIiwgMTAyNCk7CisgICAgICAgIGxvZygiRmluaXNoZWQgdGVzdHMgd2l0aCB2ZXJz
aW9uICIgKyBkYjEudmVyc2lvbiArICI7IGV4cGVjdGVkIHZlcnNpb246ICIgKyBFWFBFQ1RFRF9W
RVJTSU9OX0FGVEVSX1JFTE9BRCk7CisKKyAgICAgICAgLy8gUmVzZXQgdGhlIERCIHZlcnNpb24g
b3IgdGhlIG5leHQgcnVuIG1pZ2h0IGZhaWwuCisgICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKGRi
MS52ZXJzaW9uLCAiMSIpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgdGVzdFBhcnQxKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXJ0MSgpIHsKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworICAgIH0KKworICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNpb24t
dGVzdCIsICIxIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rp
b24iLCAxMDI0KTsKKyAgICB2YXIgZGIyID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVy
c2lvbi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBm
dW5jdGlvbiIsIDEwMjQpOworCisgICAgLy8gRmlyc3QgcnVuIEhpeGllJ3MgdGVzdCB0byBlbnN1
cmUgYmFzaWMgY2hhbmdlVmVyc2lvbiBmdW5jdGlvbmFsaXR5IHdvcmtzIChzZWUgYnVnIDI4NDE4
KS4KKyAgICBkYjEuY2hhbmdlVmVyc2lvbigiMSIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElY
SUVfVEVTVCwgbnVsbCwgZnVuY3Rpb24gKGUpIHsKKyAgICAgICAgbG9nKCJGQUlMIGluIGNoYW5n
ZVZlcnNpb246IiArIGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSwgZnVuY3Rpb24g
KCkgeworICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZlcnNpb24gY2hhbmdlIGhhcyBwcm9wYWdh
dGVkIHRvIGRiMiB0b28uCisgICAgICAgIC8vIEFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNob3Vs
ZCBmYWlsLgorICAgICAgICBpZiAoZGIyLnZlcnNpb24gIT0gZGIxLnZlcnNpb24pIHsKKyAgICAg
ICAgICAgIGxvZygiRkFJTDogY2hhbmdpbmcgZGIxJ3MgdmVyc2lvbiAoIiArIGRiMS52ZXJzaW9u
ICsgIikgZGlkIG5vdCBjaGFuZ2UgZGIyJ3MgdmVyc2lvbiAoIiArIGRiMi52ZXJzaW9uICsgIikg
YXMgZXhwZWN0ZWQuIik7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAg
ICAgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKKyAgICAg
ICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBsb2co
IkZBSUw6IFRoZSBEQiB2ZXJzaW9uIGNoYW5nZWQsIGFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNo
b3VsZCBmYWlsLiIpOworICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICB9KTsKKwor
ICAgICAgICAvLyBNYWtlIHN1cmUgYW55IG5ldyBoYW5kbGUgdG8gdGhlIHNhbWUgREIgc2VlcyB0
aGUgbmV3IHZlcnNpb24KKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBkYjMgPSBvcGVu
RGF0YWJhc2UoImNoYW5nZS12ZXJzaW9uLXRlc3QiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX0hJ
WElFX1RFU1QsICIiLCAwKTsKKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgbG9n
KCJGQUlMIGluIG9wZW5EYXRhYmFzZTogIiArIGUpOworICAgICAgICAgICAgZmluaXNoVGVzdCgp
OworICAgICAgICB9CisgICAgICAgIGlmIChkYjEudmVyc2lvbiAhPSBkYjMudmVyc2lvbikgewor
ICAgICAgICAgICAgbG9nKCJGQUlMOiBkYi52ZXJzaW9uKCIgKyBkYjEudmVyc2lvbiArICIpIGRv
ZXMgbm90IG1hdGNoIGRiMy52ZXJzaW9uKCIgKyBkYjMudmVyc2lvbiArIikiKTsKKyAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIE5vdyB0cnkgYSB0ZXN0
IHRvIGVuc3VyZSB0aGUgdmVyc2lvbiBwZXJzaXN0cyBhZnRlciByZWxvYWRpbmcgKHNlZSBidWcg
Mjc4MzYpCisgICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKEVYUEVDVEVEX1ZFUlNJT05fQUZURVJf
SElYSUVfVEVTVCwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQUQsIGNoYW5nZVZlcnNpb25D
YWxsYmFjaywgY2hhbmdlVmVyc2lvbkVycm9yLCBjaGFuZ2VWZXJzaW9uU3VjY2Vzcyk7CisgICAg
fSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+CitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1
bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jbG9z
ZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
YWFkOTBjMTYyOWU1MGIwZTYwNTJjZjhiNmU0N2UxM2UxMDFjMDIyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Nob3VsZCBub3QgY3Jhc2ggb3IgY2F1c2UgYW4g
YXNzZXJ0aW9uIGZhaWx1cmUuCisKK0EgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25zb2xl
IGlzIGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVkIHdo
ZW4gY2xvc2luZyBhIGZyYW1lLiBJdCBhY3R1YWxseSBoZWxwcyB0byBjYXVzZSBkYXRhYmFzZSBh
Y3Rpdml0eSBieSB0aHJvd2luZyBhbiBleGNlcHRpb24gZnJvbSBhIGNhbGxiYWNrLgorCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3Mt
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVz
cy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNjNTJmZDk1NTBkOTllNDRhYjg2MzBmYzY3MDJlZDk0
Mjg4NTdlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Ns
b3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzxib2R5PgorPHA+
U2hvdWxkIG5vdCBjcmFzaCBvciBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS48L3A+Cis8cD5B
IEphdmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwgaG93ZXZlciwg
YXMgdGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBmcmFtZS4KK0l0
IGFjdHVhbGx5IGhlbHBzIHRvIGNhdXNlIGRhdGFiYXNlIGFjdGl2aXR5IGJ5IHRocm93aW5nIGFu
IGV4Y2VwdGlvbiBmcm9tIGEgY2FsbGJhY2suPC9wPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworfQorCitmdW5j
dGlvbiBzdGFydFRlc3QoKQoreworICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdpZnJhbWUnKVswXS5zcmMgPSAnYWJvdXQ6YmxhbmsnIiwgMTAwKTsKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBzZXRUaW1lb3V0KCJsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCA1MDApOworfQorPC9zY3JpcHQ+Cis8aWZy
YW1lIHNyYz0icmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sIiBvbmxvYWQ9InN0YXJ0VGVzdCgp
Ij48L2lmcmFtZT4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yNzI5NTYzYWI4MDhjYjNkYmVkNzcyNTJlN2U0MDIxMmI1MGNkMzIyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1h
ZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorSW5zZXJ0aW5nIHNvbWUg
ZGF0YQorVGVzdCBwYXJ0IDIgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWI1OTg5Zjc4MDI1N2NmZDNiYTQ5OTk1ODVlNGU1NzY1MjEyYjE1MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVs
b2FkLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hU
ZXN0KCkKK3sKKyAgICBsb2coIlRlc3QgcGFydCAxIENvbXBsZXRlIik7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBlcnJvckZ1bmN0aW9uKGVycm9yKQoreworICAgIGxv
ZygiVGVzdCBmYWlsZWQgLSAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgZmluaXNoVGVzdCgpOwor
fQorCitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOworICAgICAgICAvLyBM
b2FkIGEgbmV3IHBhZ2Ugd2hpbGUgdGhlIHRyYW5zYWN0aW9uIGlzIHN0aWxsIGluIHByb2dyZXNz
LCBpbnRlcnJ1cHRpbmcgdGhlIHRyYW5zYWN0aW9uLgorICAgICAgICAvLyBUaGlzIHNob3VsZCBu
b3QgbGVhdmUgdGhlIGRhdGFiYXNlIGxvY2tlZCBhbmQgb24gdGhlIG5leHQgcGFnZSB3ZSBzaG91
bGQgYmUgYWJsZSB0byBpbnNlcnQKKyAgICAgICAgLy8gc29tZSBtb3JlIGRhdGEuCisgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTICha
RVJPQkxPQig1MjQyMDApKSIsIFtdLAorICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkg
eyBsb2NhdGlvbi5ocmVmID0gIi4vcmVzb3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2Fk
LTIuaHRtbCI7IH0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgZXJyb3JGdW5j
dGlvbihlcnJvcik7IH0pOworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRh
VGVzdCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0IoNTI0MjAwKSkiKTsKKyAgICB9LCBlcnJv
ckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKK30KKworZnVuY3Rpb24g
cnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIgZGF0YWJhc2U7CisgICAg
dHJ5IHsKKyAgICAgICAgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rlc3Qi
LCAiMS4wIiwgIlRlc3QgZm9yIGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qgb3BlbiBkYXRhYmFzZSIp
OworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorCisgICAgZGF0YWJhc2UudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgbG9nKCJBZGRpbmcgYSB0YWJsZSIpOworICAgICAg
ICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgRGF0YVRlc3QgKHRlc3REYXRhKSIsIFtdLCBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3Ip
IHsgZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOworICAgIH0sIGVycm9yRnVuY3Rpb24sIGZ1bmN0
aW9uKCkgeyBhZGREYXRhKGRhdGFiYXNlKTsgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgor
PC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OGQ5ZGNhNGUyNzM1
MzRkYjNkODMzYjY5OTk1MGRjYjE1MTg0YWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIgQEAKK0V4ZWN1dGVkIGFuIGVtcHR5IHN0YXRlbWVudC4gSWYgeW91IGRpZG4ndCBzZWUgYSBj
cmFzaCBvciBhc3NlcnRpb24sIHRoZSB0ZXN0IHBhc3NlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmVjNWI4Y2Fj
NWU0YTU4MjYwODc2YmI1MzlmYjhiYWI2MDRjZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50Lmh0bWwKQEAgLTAsMCArMSwzNiBA
QAorPGh0bWw+CisKKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9M
b2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlu
bmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gZXhlY3V0ZUVtcHR5U3Rh
dGVtZW50KHRyYW5zYWN0aW9uKQoreworICAgIHRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoIiIpOwor
ICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJFeGVjdXRlZCBhbiBlbXB0eSBzdGF0ZW1lbnQuIElmIHlv
dSBkaWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0aGUgdGVzdCBwYXNzZWQuIik7Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworICAgIH0KKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkVtcHR5U3RhdGVt
ZW50VGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIGFuIGVtcHR5IHN0YXRlbWVudCB0ZXN0Iiwg
MSk7CisgICAgZGIudHJhbnNhY3Rpb24oZXhlY3V0ZUVtcHR5U3RhdGVtZW50KTsKK30KKworPC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNv
bnNvbGUiPjwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBlMzBiNGJkZDZjZmRiZjJkOTIwMzlkNTVhMjllOTM2N2M2MmQxYWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitQQVNTLiBleGVjdXRlU3FsKG51bGwpIGRpZCBub3Qg
dGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKHVuZGVmaW5lZCkgZGlkIG5vdCB0
aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoMCkgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
CitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgor
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgW10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQ
QVNTLiBleGVjdXRlU3FsKCIiLCBbICJhcmcwIiBdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgor
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyBsZW5ndGg6IDAgfSkgZGlkIG5vdCB0aHJvdyBhbiBleGNl
cHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAxLCAwOiAiYXJnMCIgfSkgZGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwp
IGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCB1
bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIi
LCBudWxsLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3Fs
KCIiLCBudWxsLCBudWxsLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUy4g
ZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4
Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgeyB9KSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgpIHRocmV3IGFuIGV4Y2VwdGlvbiBh
cyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwodGhyb3dPblRvU3RyaW5nT2JqZWN0KSB0aHJl
dyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCB0aHJvd09u
R2V0TGVuZ3RoT2JqZWN0KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBl
eGVjdXRlU3FsKCIiLCB0aHJvd09uR2V0WmVyb09iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFz
IGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgWyB0aHJvd09uVG9TdHJpbmdPYmplY3Qg
XSkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwg
MCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwg
IiIpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwoIiIs
IG51bGwsIDApIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVT
cWwoIiIsIG51bGwsICIiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBl
eGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0
ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAiIikgdGhyZXcgYW4gZXhjZXB0
aW9uIGFzIGV4cGVjdGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9leGVjdXRlLXNxbC1hcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVj
dXRlLXNxbC1hcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjlmMmE0M2FiYWEzNjdjZDk1Y2IwMjY4Yzlm
NzRjOTg2YTk5YzVjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9ImV4ZWN1dGUtc3FsLWFyZ3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNvbGUiPiAKK0ZB
SUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPiAKKzwvYm9keT4KKworPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5qcyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2I5NDE0ZGIzY2EzYzgwNTA2MWJkYWM2YWM2YzhmYjdkN2ZjOTAyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanMKQEAg
LTAsMCArMSw4NiBAQAordmFyIHRocm93T25Ub1N0cmluZ09iamVjdCA9IHsgfTsKK3Rocm93T25U
b1N0cmluZ09iamVjdC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBjYWxs
IHRvU3RyaW5nIG9uIHRoaXMgb2JqZWN0LiIgfTsKKwordmFyIHRocm93T25HZXRMZW5ndGhPYmpl
Y3QgPSB7IH07Cit0aHJvd09uR2V0TGVuZ3RoT2JqZWN0Ll9fZGVmaW5lR2V0dGVyX18oImxlbmd0
aCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgbGVuZ3RoIG9mIHRoaXMgb2JqZWN0
LiI7IH0pOworCit2YXIgdGhyb3dPbkdldFplcm9PYmplY3QgPSB7IGxlbmd0aDogMSB9OwordGhy
b3dPbkdldFplcm9PYmplY3QuX19kZWZpbmVHZXR0ZXJfXygiMCIsIGZ1bmN0aW9uICgpIHsgdGhy
b3cgIkNhbm5vdCBnZXQgMCBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdC4iOyB9KTsKKwordmFyIGV4
cGVjdE5vRXhjZXB0aW9uID0gWworICAgICdudWxsJywKKyAgICAndW5kZWZpbmVkJywKKyAgICAn
MCcsCisgICAgJyIiJywKKyAgICAnIiIsIG51bGwnLAorICAgICciIiwgdW5kZWZpbmVkJywKKyAg
ICAnIiIsIFtdJywKKyAgICAnIiIsIFsgImFyZzAiIF0nLAorICAgICciIiwgeyB9JywKKyAgICAn
IiIsIHsgbGVuZ3RoOiAwIH0nLAorICAgICciIiwgeyBsZW5ndGg6IDEsIDA6ICJhcmcwIiB9JywK
KyAgICAnIiIsIG51bGwsIG51bGwnLAorICAgICciIiwgbnVsbCwgdW5kZWZpbmVkJywKKyAgICAn
IiIsIG51bGwsIHsgfScsCisgICAgJyIiLCBudWxsLCBudWxsLCBudWxsJywKKyAgICAnIiIsIG51
bGwsIG51bGwsIHVuZGVmaW5lZCcsCisgICAgJyIiLCBudWxsLCBudWxsLCB7IH0nLAorXTsKKwor
dmFyIGV4cGVjdEV4Y2VwdGlvbiA9IFsKKyAgICAnJywKKyAgICAndGhyb3dPblRvU3RyaW5nT2Jq
ZWN0JywKKyAgICAnIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3QnLAorICAgICciIiwgdGhyb3dP
bkdldFplcm9PYmplY3QnLAorICAgICciIiwgWyB0aHJvd09uVG9TdHJpbmdPYmplY3QgXScsCisg
ICAgJyIiLCAwJywKKyAgICAnIiIsICIiJywKKyAgICAnIiIsIG51bGwsIDAnLAorICAgICciIiwg
bnVsbCwgIiInLAorICAgICciIiwgbnVsbCwgbnVsbCwgMCcsCisgICAgJyIiLCBudWxsLCBudWxs
LCAiIicsCitdOworCitmdW5jdGlvbiB0cnlFeGVjdXRlU3FsKHRyYW5zYWN0aW9uLCBwYXJhbWV0
ZXJMaXN0KQoreworICAgIHRyeSB7CisgICAgICAgIGV2YWwoJ3RyYW5zYWN0aW9uLmV4ZWN1dGVT
cWwoJyArIHBhcmFtZXRlckxpc3QgKyAnKScpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgcmV0dXJuIGV4Y2VwdGlvbjsKKyAgICB9Cit9
CisKK2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgcGFyYW1ldGVyTGlz
dCwgZXhwZWN0RXhjZXB0aW9uKQoreworICAgIHZhciBleGNlcHRpb24gPSB0cnlFeGVjdXRlU3Fs
KHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KTsKKyAgICBpZiAoZXhwZWN0RXhjZXB0aW9uKSB7
CisgICAgICAgIGlmIChleGNlcHRpb24pCisgICAgICAgICAgICBsb2coIlBBU1MuIGV4ZWN1dGVT
cWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQu
Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZygiKkZBSUwqLiBleGVjdXRlU3FsKCIg
KyBwYXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24iKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICAgICAgbG9nKCIqRkFJTCou
IGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRpb246ICIg
KyBleGNlcHRpb24pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsb2coIlBBU1MuIGV4ZWN1
dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbiIp
OworICAgIH0KK30KKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25UZXN0cyh0cmFuc2FjdGlvbikK
K3sKKyAgICBmb3IgKGkgaW4gZXhwZWN0Tm9FeGNlcHRpb24pCisgICAgICAgIHJ1blRyYW5zYWN0
aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0Tm9FeGNlcHRpb25baV0sIGZhbHNlKTsKKyAgICBm
b3IgKGkgaW4gZXhwZWN0RXhjZXB0aW9uKQorICAgICAgICBydW5UcmFuc2FjdGlvblRlc3QodHJh
bnNhY3Rpb24sIGV4cGVjdEV4Y2VwdGlvbltpXSwgdHJ1ZSk7CisKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworCisgICAgdmFyIGRiID0gb3BlbkRh
dGFiYXNlV2l0aFN1ZmZpeCgiRXhlY3V0ZVNRTEFyZ3NUZXN0IiwgIjEuMCIsICJUZXN0IG9mIGhh
bmRsaW5nIG9mIHRoZSBhcmd1bWVudHMgdG8gU1FMVHJhbnNhY3Rpb24uZXhlY3V0ZVNxbCIsIDEp
OworICAgIGRiLnRyYW5zYWN0aW9uKHJ1blRyYW5zYWN0aW9uVGVzdHMpOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25l
LXN0YXRlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVj
dXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iOTVjZWVlOGM4ODNhZGUxNDNlYTk2YTE1MjM1N2QwNjc1OWE5ZmE5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHkt
b25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgdGVz
dHMgdGhhdCBleGVjdXRlU3FsKCkgZmFpbHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0
IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlkIHN0YXRlbWVudCBpbiBpdC4KK1Rlc3QgcGFzc2VkLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2Vw
dHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9l
eGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM4
NjBjODk5MjVmMmZjZGIxMDYzNmZlN2M2MjNhYzgzYjEzNjAyYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1z
dGF0ZW1lbnQuaHRtbApAQCAtMCwwICsxLDc4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
KwordmFyIFRPVEFMX1NUQVRFTUVOVFMgPSA4OwordmFyIHN0YXRlbWVudHMgPSAwOwordmFyIGRi
ID0gbnVsbDsKKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuYm9keS5p
bm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRlc3Qo
KQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVN0YXRl
bWVudChleHBlY3RlZFRvUGFzcywgc3RhdGVtZW50KQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoc3RhdGVtZW50LCBbXSwKKyAgICAg
ICAgICAgIGZ1bmN0aW9uKHR4LCBkYXRhKSB7CisgICAgICAgICAgICAgICAgaWYgKCFleHBlY3Rl
ZFRvUGFzcykgeworICAgICAgICAgICAgICAgICAgICBsb2coIlN0YXRlbWVudCAiICsgc3RhdGVt
ZW50ICsgIiB3YXMgZXhwZWN0ZWQgdG8gZmFpbCwgYnV0IHBhc3NlZC4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBpZiAoKytzdGF0ZW1lbnRzID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgbG9nKCJUZXN0IHBhc3NlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWlu
YXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHR4
LCBlcnJvcikgeworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZFRvUGFzcykgeworICAgICAg
ICAgICAgICAgICAgICBsb2coIlN0YXRlbWVudCAiICsgc3RhdGVtZW50ICsgIiB3YXMgZXhwZWN0
ZWQgdG8gcGFzcywgYnV0IGZhaWxlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRl
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoKytzdGF0ZW1l
bnRzID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJUZXN0
IHBhc3NlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5U
ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRiID0gb3BlbkRhdGFiYXNlKCJFeGVj
dXRlU1FMQWNjZXB0c09ubHlPbmVTdGF0ZW1lbnRUZXN0IiwgIjEuMCIsICIiLCAxKTsKKyAgICBk
Yi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVB
VEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIpOworICAgIH0sIGZ1bmN0aW9u
KGVycm9yKSB7CisgICAgICAgIGxvZygiVGVzdCBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsK
KyAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBl
eGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMSkiKTsKKyAg
ICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDIp
OyIpOworICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICIgICBJTlNFUlQgSU5UTyBUZXN0
IFZBTFVFUyAoMykgICAgIik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElO
U0VSVCBJTlRPIFRlc3QgVkFMVUVTICg0KTsgICAiKTsKKyAgICAgICAgZXhlY3V0ZVN0YXRlbWVu
dCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDUpICAgOyIpOworICAgICAgICBleGVj
dXRlU3RhdGVtZW50KGZhbHNlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDYpOyBnYXJiYWdl
Iik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2UsICJJTlNFUlQgSU5UTyBUZXN0IFZB
TFVFUyAoNyk7IElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg4KSIpOworICAgICAgICBleGVjdXRl
U3RhdGVtZW50KGZhbHNlLCAiICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoOSk7ICAgSU5TRVJU
IElOVE8gVGVzdCBWQUxVRVMgKDEwKTsgICAiKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQg
ZXhlY3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVkIHdpdGggYSBzdHJpbmcgdGhhdCBoYXMgbW9y
ZSB0aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4gaXQuPGJyPgorPC9ib2R5PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFu
Z2Utd2l0aC14aHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFz
aC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlOTY0ZTYzNzViZDNh
MzFiYWI4OGI3MjU1YjhmNTQwNzI0Y2NjZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACitDaGFuZ2luZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVzLgor
RGIgaXMgd2FybWVkIHVwCitUZXN0IENvbXBsZXRlLCBTVUNDRVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU4NDMyMGYwZjE5Yzc4YzRmY2M4YzZmODU0MjBiZThjZjU2YjMzOWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5o
dG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPiAKKzxoZWFkPiAKKzx0aXRsZT5IYXNoIENoYW5n
ZSB3aXRoIGFuIE9wZW4gWEhSIHNob3VsZCBub3Qgc3RvcCBkYXRhYmFzZSB0cmFuc2FjdGlvbnM8
L3RpdGxlPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Imhhc2gtY2hhbmdlLXdpdGgteGhyLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4gCis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4gCis8cHJlIGlkPSJjb25z
b2xlIj4KK0ZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPgorPC9ib2R5PiAKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdp
dGgteGhyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14
aHIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2Y1NmY3OTVhMTgyZTFhODFkYWZiNjQwMGVjODNjOGMzMGMwZDVm
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hh
bmdlLXdpdGgteGhyLmpzCkBAIC0wLDAgKzEsMTE4IEBACit2YXIgREJfVVBEQVRFX0lOVEVSVkFM
ID0gMTAwOwordmFyIFNFTkRfWEhSX0lOVEVSVkFMID0gMTAwOwordmFyIEJBQ0tfSU5URVJWQUwg
PSAxMDA7Cit2YXIgQ1JFQVRFX0hFQUxUSF9UQUJMRSA9ICdDUkVBVEUgVEFCTEUgSUYgTk9UIEVY
SVNUUyBoZWFsdGggKGtleSBWQVJDSEFSKDE2KSBQUklNQVJZIEtFWSk7JzsKK3ZhciBVUERBVEVf
REFUQSA9ICdSRVBMQUNFIElOVE8gaGVhbHRoIFZBTFVFUygiaGVhbHRoLWNoZWNrLWtleSIpOyc7
CisgCit2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCdidWcyNTcxMCcsICcxLjAnLCAn
TGF5b3V0VGVzdCBmb3IgYnVnIDI1NzEwJywgMTAyNDAwKTsKK3ZhciBiYWNrSXRlcmF0aW9uczsK
K3ZhciB4aHJGY3RJbnRlcnZhbElkOwordmFyIGJhY2tGY3RJbnRlcnZhbElkOwordmFyIHN1Y2Nl
c3NDaGVja0ludGVydmFsSWQ7Cit2YXIgZGJGY3RJbnRlcnZhbElkOwordmFyIHN1Y2Nlc3NlczsK
K3ZhciBkYXRhYmFzZVVwZGF0ZXM7Cit2YXIgc3RvcHBlZEludGVydmFsczsKKyAKK2Z1bmN0aW9u
IHN0b3BJbnRlcnZhbHMoKQoreworICAgIHN0b3BwZWRJbnRlcnZhbHMgPSB0cnVlOworICAgIGNs
ZWFySW50ZXJ2YWwoZGJGY3RJbnRlcnZhbElkKTsKKyAgICBjbGVhckludGVydmFsKHhockZjdElu
dGVydmFsSWQpOworICAgIGNsZWFySW50ZXJ2YWwoYmFja0ZjdEludGVydmFsSWQpOworfQorCitm
dW5jdGlvbiBzdG9wVGVzdChtZXNzYWdlKQoreworICAgIGlmICghc3RvcHBlZEludGVydmFscykK
KyAgICAgICAgc3RvcEludGVydmFscygpOworCisgICAgbG9nKG1lc3NhZ2UpOworCisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworfQorICAgIAorZnVuY3Rpb24gdXBkYXRlRGF0YWJhc2UoKQorewor
ICAgIGRhdGFiYXNlVXBkYXRlcysrOyAgCisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHJh
bnNhY3Rpb24pIHsKKyAgICAgICAgdHJhbnNhY3Rpb24uZXhlY3V0ZVNxbChVUERBVEVfREFUQSwg
W10sIGZ1bmN0aW9uKCkge30sIGVycm9ySGFuZGxlcik7CisgICAgfSwgZXJyb3JIYW5kbGVyLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgc3VjY2Vzc2VzKys7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9u
IGNoZWNrRm9yU3VjY2VzcygpCit7CisgICAgaWYgKHN1Y2Nlc3NlcyA9PSBkYXRhYmFzZVVwZGF0
ZXMpIHsKKyAgICAgICAgc3RvcFRlc3QoJ1Rlc3QgQ29tcGxldGUsIFNVQ0NFU1MnKTsKKyAgICAg
ICAgY2xlYXJJbnRlcnZhbChzdWNjZXNzQ2hlY2tJbnRlcnZhbElkKTsKKyAgICB9Cit9CisgCitm
dW5jdGlvbiBlcnJvckhhbmRsZXIodHgsIGVycm9yKQoreworICAgIGxvZygnREIgZXJyb3IsIGNv
ZGU6ICcgKyBlcnJvci5jb2RlICsgJywgbXNnOiAnICsgZXJyb3IubWVzc2FnZSk7CisgICAgc3Rv
cFRlc3QoJ1Rlc3QgQ29tcGxldGUsIEZBSUxFRCcpOworfQorIAorZnVuY3Rpb24gc2VuZFhocigp
Cit7CisgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgeGhyLm9wZW4oJ0dFVCcs
IGxvY2F0aW9uLmhyZWYsIHRydWUpOworICAgIHhoci5zZW5kKCcnKTsKK30KKyAKK2Z1bmN0aW9u
IGludm9rZUJhY2soKQoreworICAgIGJhY2tJdGVyYXRpb25zLS07CisgICAgaWYgKGJhY2tJdGVy
YXRpb25zKSB7CisgICAgICAgIGhpc3RvcnkuYmFjaygpOworICAgIH0gZWxzZSB7CisgICAgICAg
IHN0b3BJbnRlcnZhbHMoKTsKKyAgICAgICAgLy8gQWxsb3cgYSBsaXR0bGUgdGltZSBmb3IgYWxs
IHRoZSBkYXRhYmFzZSB0cmFuc2FjdGlvbnMgdG8gY29tcGxldGUgbm93IHdlJ3ZlIHN0b3BwZWQg
bWFraW5nIHRoZW0uCisgICAgICAgIHN1Y2Nlc3NDaGVja0ludGVydmFsSWQgPSBzZXRJbnRlcnZh
bChjaGVja0ZvclN1Y2Nlc3MsIDI1MCk7CisgICAgICAgIC8vIElmIHdlIGRvbid0IGZpbmlzaCBi
ZWZvcmUgdGhpcyB0aW1lLCB0aGVuIHdlIGNvbnNpZGVyIHRoZSB0ZXN0IGZhaWxlZC4KKyAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgc3RvcFRlc3QoJ1RpbWVkIG91dCB3YWl0aW5nIGZv
ciB0cmFuc2FjdGlvbnMgdG8gY29tcGxldGUuIEZBSUxFRCcpOyB9LCAyMDAwMCk7CisgICAgICAg
IAorICAgIH0KK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgLy8gTG9jYXRpb24gY2hh
bmdlcyBuZWVkIHRvIGhhcHBlbiBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB0byBnZW5lcmF0
ZSBoaXN0b3J5IGVudHJpZXMuCisgICAgc2V0VGltZW91dChydW5UZXN0c0lubmVyLCAwKTsKK30K
KworZnVuY3Rpb24gcnVuVGVzdHNJbm5lcigpCit7CisgICAgYmFja0l0ZXJhdGlvbnMgPSAxMDsK
KyAgICBjb25zZWN1dGl2ZUZhaWx1cmVzID0gMDsKKyAgICBzdWNjZXNzZXMgPSAwOworICAgIGRh
dGFiYXNlVXBkYXRlcyA9IDA7CisgICAgc3RvcHBlZEludGVydmFscyA9IGZhbHNlOworCisgICAg
Ly8gQ3JlYXRlIHNvbWUgaGFzaGVzIHNvIHdlIGNhbiBjYWxsIGhpc3RvcnkuYmFjaygpLgorICAg
IGxvZygnQ2hhbmdpbmcgdGhlIGhhc2ggdG8gY3JlYXRlIGhpc3RvcnkgZW50cmllcy4nKTsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGJhY2tJdGVyYXRpb25zOyBpKyspIHsKKyAgICAgICAgc2V0
TG9jYXRpb25IYXNoKGkpOworICAgIH0KKworICAgIC8vIEluaXQgdGhlIGRhdGFiYXNlLgorICAg
IGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHRyYW5zYWN0aW9uKSB7CisgICAgICAgIHRyYW5zYWN0
aW9uLmV4ZWN1dGVTcWwoQ1JFQVRFX0hFQUxUSF9UQUJMRSwgW10sIGZ1bmN0aW9uKCkge30sIGVy
cm9ySGFuZGxlcik7CisgICAgfSwgZXJyb3JIYW5kbGVyLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
Ly8gR2l2ZSBhIGxpdHRsZSBmb3IgdGhlIGRhdGFiYXNlIHRvICd3YXJtIHVwJyBiZWZvcmUgbWFr
aW5nIHhociByZXF1ZXN0cworICAgICAgICAvLyBhbmQgY2FsbGluZyBoaXN0b3J5LmJhY2soKS4K
KyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGxvZygnRGIgaXMg
d2FybWVkIHVwJyk7CisKKyAgICAgICAgICAgIC8vIE5PVEU6IElmIHdlIGRvbid0IG1ha2UgYW55
IHhociByZXF1ZXN0cywgdGhlbiB0aGUgdGVzdAorICAgICAgICAgICAgLy8gc3VjY2Vzc2Z1bGx5
IHBhc3NlcyAoY29tbWVudCB0aGlzIGxpbmUgb3V0KS4KKyAgICAgICAgICAgIHhockZjdEludGVy
dmFsSWQgPSBzZXRJbnRlcnZhbChzZW5kWGhyLCBTRU5EX1hIUl9JTlRFUlZBTCk7CisgICAgICAg
ICAgICBiYWNrRmN0SW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGludm9rZUJhY2ssIEJBQ0tfSU5U
RVJWQUwpOworICAgICAgICAgICAgZGJGY3RJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwodXBkYXRl
RGF0YWJhc2UsIERCX1VQREFURV9JTlRFUlZBTCk7CisgICAgICAgIH0sIDUwMCk7CisgICAgfSk7
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRh
YmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQwMTUxNGE2YWVmYjM2MjhlYjAwMzY0Y2IyNjI0YzIwZTBlODkwMDQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1k
YXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K1RoaXMgdGVzdCBvcGVucyB0d28gZGF0YWJhc2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3Bl
cmF0aW9ucyBvbiBib3RoLCB0aGVuICJmb3JnZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0ZXIg
Zm9yY2luZyBHQywgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3Vs
ZCBiZSBmcmVlZCBncmFjZWZ1bGx5LgorRm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIENv
bXBsZXRlCitQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJi
YWdlLWNvbGxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxl
LWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDUxYWNmYmI5
OWE0MzlkZDgyNDc2YzE5OTQ5MTY2ODZhOWE2ZjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibXVsdGlw
bGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBvbmxv
YWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3Qgb3BlbnMgdHdvIGRhdGFiYXNlcywg
cXVldWVzIHVwIGEgc2VyaWVzIG9mIG9wZXJhdGlvbnMgb24gYm90aCwgdGhlbiAiZm9yZ2V0cyIg
YWJvdXQgb25lIG9mIHRoZW0uCitBZnRlciBmb3JjaW5nIEdDLCByZXNvdXJjZXMgYXNzb2NpYXRl
ZCB3aXRoIHRoYXQgZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVsbHkuPGJyPgorPHBy
ZSBpZD0iY29uc29sZSI+IAorRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVs
dGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWEyYjI3ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZlZjY0NDIwZDg2ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1n
YXJiYWdlLWNvbGxlY3Rpb24uanMKQEAgLTAsMCArMSw1NiBAQAorZnVuY3Rpb24gR0MoKQorewor
ICAgIC8vIEZvcmNlIEdDLgorICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAgICAgICBH
Q0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgIGVsc2UgeworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICAgICAgICAgICh7IH0pOworICAgICAgICB9CisgICAg
fQorfQorCisvLyBWYXJpYWJsZSBmb3IgdGhlIGRhdGFiYXNlIHRoYXQgd2lsbCBuZXZlciBiZSBm
b3Jnb3R0ZW4KK3ZhciBwZXJzaXN0ZW50REIgPSAwOworLy8gVmFyaWFibGUgZm9yIHRoZSBmb3Jn
b3R0ZW4gZGF0YWJhc2UKK3ZhciBmb3Jnb3R0ZW5EQiA9IDA7CisKK3ZhciBjb21wbGV0ZWQgPSAw
OworZnVuY3Rpb24gY2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICBpZiAoKytjb21wbGV0ZWQgPT0g
MiAmJiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgcGVy
c2lzdGVudERCID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVEYXRhYmFzZXNUZXN0
MSIsICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9mIGEgc2V0IG9mIGRhdGFiYXNlcyBiZWluZyBkZXN0
cm95ZWQgKDEpIiwgMzI3NjgpOworICAgIGZvcmdvdHRlbkRCID0gb3BlbkRhdGFiYXNlV2l0aFN1
ZmZpeCgiTXVsdGlwbGVEYXRhYmFzZXNUZXN0MiIsICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9mIGEg
c2V0IG9mIGRhdGFiYXNlcyBiZWluZyBkZXN0cm95ZWQgKDIpIiwgMzI3NjgpOworCisgICAgcGVy
c2lzdGVudERCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtd
LCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IAorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCAyNTsgKytpKQorICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERh
dGFUZXN0IChyYW5kb21EYXRhKSBWQUxVRVMgKDEpIiwgW10pOworICAgICAgICB9KTsgCisgICAg
fSwgZnVuY3Rpb24oZXJyKSB7CisgICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBUcmFu
c2FjdGlvbiBFcnJvcmVkIC0gIiArIGVycik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwor
ICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBsb2coIlBlcnNpc3RlbnQgRGF0YWJhc2UgVHJh
bnNhY3Rpb24gQ29tcGxldGUiKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7
CisKKyAgICBmb3Jnb3R0ZW5EQi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBFbXB0eVRhYmxlICh1bmlt
cG9ydGFudERhdGEpIiwgW10pOworICAgIH0sIGZ1bmN0aW9uKGVycikgeworICAgICAgICBsb2co
IkZvcmdvdHRlbiBEYXRhYmFzZSBUcmFuc2FjdGlvbiBFcnJvcmVkIC0gIiArIGVycik7CisgICAg
ICAgIGZvcmdvdHRlbkRCID0gMDsKKyAgICAgICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21wbGV0
aW9uKCk7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiRm9yZ290dGVuIERhdGFi
YXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlIik7CisgICAgICAgIGZvcmdvdHRlbkRCID0gMDsKKyAg
ICAgICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7Cit9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTljMGY2ZTk1YmFmYjhmNTc4MzM2MDk2
MTZlZjUyYzcwODk2MTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAK
K1RoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBs
ZSB0cmFuc2FjdGlvbnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6
CitUcmFuc2FjdGlvbiAxIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCitUcmFuc2Fj
dGlvbiAyIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDIgU3VjY2VlZGVkCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJl
bnQtaGFuZGxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0
aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJhNmEyZDE3Y2EwNjg3MTc1OTAxYjNlYmJlMDdjYzYyZjhmMmQ2ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlv
bnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGhp
cyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBv
biBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRzIGluIGEgZGVh
ZGxvY2suCitkYjEgcmVhZCBzdGF0ZW1lbnQgc3VjY2VlZGVkCitkYjEgd3JpdGUgc3RhdGVtZW50
IHN1Y2NlZWRlZAorZGIxIHRyYW5zYWN0aW9uIHN1Y2NlZWRlZAorZGIyIHJlYWQgc3RhdGVtZW50
IHN1Y2NlZWRlZAorZGIyIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKK2RiMiB0cmFuc2FjdGlv
biBzdWNjZWVkZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRs
ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wYTE4YzMyMmMxNWEzNmI0MWIxNDMwNzMyM2U2Mzk2MGFkZTE2
MGMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKQEAgLTAsMCArMSwxMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJtdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlm
ZmVyZW50LWhhbmRsZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1
cEFuZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11
bHRpcGxlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRh
YmFzZSByZXN1bHRzIGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+IAorRkFJ
TFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9u
LWRpZmZlcmVudC1oYW5kbGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhYjRi
OTNlZjgzYTc2YzdlNGM5MjQ4MWRmZmYwZTUxNzdmNGFjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVy
ZW50LWhhbmRsZXMuanMKQEAgLTAsMCArMSw3OCBAQAordmFyIGNvbXBsZXRlID0gMDsKKworZnVu
Y3Rpb24gY2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5kIGFm
dGVyIHR3byB0cmFuc2FjdGlvbnMKKyAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworfQorCisvLyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2Fz
ZQorZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7CisgICAgcmV0dXJuIG9wZW5EYXRhYmFz
ZVdpdGhTdWZmaXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVzdCIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcgbXVs
dGlwbGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJlc3Vs
dCBpbiBhIGRlYWRsb2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3
NjgpOworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBzdGF0
ZW1lbnRUeXBlKQoreworICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBz
dGF0ZW1lbnQgc3VjY2VlZGVkIik7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJh
Y2soZGJOYW1lLCBzdGF0ZW1lbnRUeXBlLCBlcnJvcikKK3sKKyAgICBsb2coZGJOYW1lICsgIiAi
ICsgc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2Up
OworfQorCisvLyBSdW5zIGEgdHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCitmdW5j
dGlvbiBydW5UcmFuc2FjdGlvbihkYiwgZGJOYW1lLCB2YWwpCit7CisgICAgZGIudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRlbWVu
dAorICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgW10s
CisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vz
c0NhbGxiYWNrKGRiTmFtZSwgInJlYWQiKTsgfSwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHR4LCBlcnJvcikgeyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQiLCBl
cnJvcik7IH0pOworCisgICAgICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBtYWtl
IHN1cmUgU1FMaXRlIHRyaWVzIHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhlIERC
IGZpbGUKKyAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPyk7
IiwgW3ZhbF0sCisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVt
ZW50U3VjY2Vzc0NhbGxiYWNrKGRiTmFtZSwgIndyaXRlIik7IH0sCisgICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUs
ICJ3cml0ZSIsIGVycm9yKTsgfSk7CisgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAg
ICAgICAgLy8gVHJhbnNhY3Rpb24gZmFpbHVyZSBjYWxsYmFjaworICAgICAgICAgICBsb2coZGJO
YW1lICsgIiB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAg
ICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAg
IC8vIFRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sKKyAgICAgICAgICAgbG9nKGRiTmFtZSAr
ICIgdHJhbnNhY3Rpb24gc3VjY2VlZGVkIik7CisgICAgICAgICAgIGNoZWNrQ29tcGxldGlvbigp
OworICAgICAgIH0pOworfQorCisvLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBUZXN0
IHRhYmxlIGV4aXN0cyBiZWZvcmUgd2UgcnVuIG91ciB0ZXN0LgorLy8gVGhlcmVmb3JlLCB0aGUg
dGVzdCBjb2RlIGlzIGluIHRoZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9uIHRo
YXQgY3JlYXRlcyB0aGUgdGFibGUuCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHRyeSB7Cisg
ICAgICAgIHZhciBkYiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgZGIudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJsZSBp
ZiBpdCBkb2VzIG5vdCBleGlzdAorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRB
QkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7IiwgW10sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOwor
ICAgICAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBsb2coIkNy
ZWF0aW5nIHRoZSBUZXN0IHRhYmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAg
ICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFibGUg
d2FzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5CisgICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9wZW5U
ZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFz
ZSgpOworICAgICAgICAgICAgICAgIGlmIChkYjEgPT0gZGIyKQorICAgICAgICAgICAgICAgICAg
ICBsb2coImZhaWx1cmU6IGRiMSA9PSBkYjIiKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7CisgICAgICAg
ICAgICAgICAgICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0pOworICAgIH0gY2F0Y2goZXJyKSB7fQorfQorCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzU5NzQ0MDEzOTZlZmRjODc1M2E2MGZiM2U5NDgxMjQyODUwMzRjZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRy
YW5zYWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0ibXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxoZWFkPgorPGJvZHkgb25s
b2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHRoZSBk
YXRhYmFzZSBBUEkgYWxsb3dzIG11bHRpcGxlIHRyYW5zYWN0aW9ucyB0byBiZSBxdWV1ZWQgb24g
dGhlIHNhbWUgZGF0YWJhc2UgYXQgb25jZTo8YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlM
VVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4gCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODVjZGFiY2RiZGQ2NGMzYjRhMWRkNjNmMzUzMTU4Njk2MmNhZDYxOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0
aW9ucy5qcwpAQCAtMCwwICsxLDMyIEBACit2YXIgY29tcGxldGUgPSAwOworCitmdW5jdGlvbiBj
aGVja0NvbXBsZXRpb24oKQoreworICAgIGlmICgrK2NvbXBsZXRlID09IDIgJiYgd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYiA9IG9wZW5EYXRh
YmFzZVdpdGhTdWZmaXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zVGVzdCIsICIxLjAiLCAiVGVzdCB0
byBtYWtlIHN1cmUgbXVsdGlwbGUgdHJhbnNhY3Rpb25zIGNhbiBiZSBxdWV1ZWQgYXQgb25jZSBm
b3IgYW4gSFRNTDUgZGF0YWJhc2UiLCAzMjc2OCk7CisKKyAgICBkYi50cmFuc2FjdGlvbihmdW5j
dGlvbih0eCkgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3RhcnRlZCIpOworICAgIH0s
IGZ1bmN0aW9uKGVycikgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgRXJyb3JlZCAtICIg
KyBlcnIpOworICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKKyAgICB9LCBmdW5jdGlvbigpIHsK
KyAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAxIFN1Y2NlZWRlZCIpOworICAgICAgICBjaGVja0Nv
bXBsZXRpb24oKTsKKyAgICB9KTsKKworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7
CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdGFydGVkIik7CisgICAgfSwgZnVuY3Rpb24o
ZXJyKSB7CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBFcnJvcmVkIC0gIiArIGVycik7Cisg
ICAgICAgIGNoZWNrQ29tcGxldGlvbigpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBs
b2coIlRyYW5zYWN0aW9uIDIgU3VjY2VlZGVkIik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigp
OworICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVs
bC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVs
bC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMTE2NzUxMDZkODE2OTkxMTE0
YWQ5MWM2NjM4MGMyN2MzN2QzYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVj
dCBhbiBvcHRpb25hbCBjYWxsYmFjay4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9udWxsLWNhbGxiYWNrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYTBlMWMzZmZiY2QzMzY2MTBk
ZmEzN2E1ODc2OWYwMmM0ODY5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFy
QWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0K
KworICAgIHRyeSB7CisgICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiTnVsbENhbGxiYWNr
cyIsICIxLjAiLCAiVGVzdCBmb3IgbnVsbCBjYWxsYmFja3MuIiwgMSk7CisgICAgICAgIGRiLnRy
YW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVB
VEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIsIG51bGwpOworICAgICAgICAg
ICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKD8pIiwgWzFdLCBudWxs
LCBudWxsKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFM
VUVTICg/KSIsIFsyXSwgbnVsbCk7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoMykiLCBudWxsLCBudWxsLCBudWxsKTsKKyAgICAgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs0XSwgbnVsbCwKKyAg
ICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHt9KTsKKyAgICAgICAgfSwgbnVsbCwg
bnVsbCk7CisKKyAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs1XSk7Cisg
ICAgICAgIH0sIG51bGwsIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOworICAgIH0gY2F0
Y2goZXJyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5u
ZXJIVE1MID0gIkZBSUwiOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0ICdudWxsJyBjYW4gYmUgdXNlZCB3aGVyZXZlciB3ZSBleHBlY3QgYW4gb3B0aW9u
YWwgY2FsbGJhY2suCis8cHJlIGlkPSJjb25zb2xlIj5QQVNTPC9wcmU+Cis8L2JvZHk+CisKKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJh
c2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjJmM2ZjYjZiYWRkYTEzMDUxNTI4OTZlNDhhMmExMDUzM2QyY2IxNQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRp
b24tY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdF
OiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJzEuMCcgZG9lcyBu
b3QgbWF0Y2ggdGhlIGN1cnJlbnRWZXJzaW9uIG9mICcnCitUaGlzIHRlc3QgdGVzdHMgb3BlbkRh
dGFiYXNlKCkncyBjcmVhdGlvbiBjYWxsYmFjay4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFi
YXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mYTk2YTY3NTRkOGRmNTc0MDBjZTQ2YzlkY2NhMjNlNWM0Mjc1ODQ1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlv
bi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitB
TEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBp
biBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0
IHRoZSBvcGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJp
Z2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThhNDY2NGJlMjBmZmZjNWJkODk5OWVmNDQ4N2Jm
YWIwZWY1Y2I0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3Qg
dGVzdHMgdGhhdCB0aGUgb3BlbkRhdGFiYXNlKCkgY3JlYXRpb24gY2FsbGJhY2sgaXMgY2FsbGVk
IGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
K3ZhciBjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQorewor
ICAgIGlmICgoKytjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID09IDIpICYmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9CisKK2Z1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKQoreworICAgIGFsZXJ0
KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKwor
ZnVuY3Rpb24gY3JlYXRpb25DYWxsYmFjazIoZGIpCit7CisgICAgYWxlcnQoZG9jdW1lbnQuYm9k
eS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9j
dW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOworZG9jdW1lbnQuYm9k
eS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNy
ZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2Ny
aXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAgICAgICAiZnVuY3Rpb24gY3JlYXRp
b25DYWxsYmFjazEoZGIpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0
KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0n
amF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBk
YjEgPSBvcGVuRGF0YWJhc2UoJ09wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tJc29sYXRlZFdv
cmxkJywgJzEuMCcsICcnLCAxLCBjcmVhdGlvbkNhbGxiYWNrMSk7Iik7CisKKyAgICB2YXIgZGIy
ID0gb3BlbkRhdGFiYXNlKCdPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3Js
ZDInLCAnMS4wJywgJycsIDEsIGNyZWF0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Bl
bi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4
MTY0NWM0NWVlNzRkNGI2MWFhMDE5ODAzNGE5NGE4ZDRhN2UzNTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxi
YWNrLmh0bWwKQEAgLTAsMCArMSw5MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hU
ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3Qo
KQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0RGF0YWJhc2VRdW90YSgzMjc2OCk7CisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIgdHJhbnNhY3Rpb25zUnVuID0gMDsKKworICAg
IC8vIE9wZW4gYSBuZXcgZGF0YWJhc2Ugd2l0aCBhIGNyZWF0aW9uIGNhbGxiYWNrLCBhbmQgbWFr
ZSBzdXJlIHRoZSBjcmVhdGlvbiBjYWxsYmFjayBpcyBxdWV1ZWQKKyAgICB2YXIgY3JlYXRpb25D
YWxsYmFja0NhbGxlZDEgPSBmYWxzZTsKKyAgICB2YXIgZGIxTmFtZSA9ICJPcGVuRGF0YWJhc2VD
cmVhdGlvbkNhbGxiYWNrMSIgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgpOworICAgIHZhciBkYjEg
PSBvcGVuRGF0YWJhc2UoZGIxTmFtZSwgIjEuMCIsICIiLCAxLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oZGIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
cmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKGRiLnZlcnNpb24gIT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFjayB3YXMgY2FsbGVkIHdpdGggYSBkYXRhYmFz
ZSB3aXRoIHZlcnNpb24gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkYi52ZXJzaW9uICsgIjsgZW1wdHkgc3RyaW5nIGV4cGVjdGVkLiIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAvLyBQ
dXR0aW5nIHRoaXMgY29kZSBpbnNpZGUgYSB0cmFuc2FjdGlvbiBvbiAnZGIxJyBtYWtlcyBzdXJl
IHRoYXQgaXQgaXMgZXhlY3V0ZWQgYWZ0ZXIKKyAgICAvLyB0aGUgY3JlYXRpb24gY2FsbGJhY2sg
aXMuCisgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmICghY3Jl
YXRpb25DYWxsYmFja0NhbGxlZDEpIHsKKyAgICAgICAgICAgIGxvZygiQ3JlYXRpb24gY2FsbGJh
Y2sgZm9yIGRiMSB3YXMgbm90IGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsK
KyAgICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0gMikKKyAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKKworICAgIC8vIFRyeSB0byBvcGVuIGFub3RoZXIg
aGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlLgorICAgIC8vIFNpbmNlIHRoZSB2ZXJzaW9uIG9m
IHRoaXMgZGF0YWJhc2UgaXMgIiIgKGVtcHR5IHN0cmluZyksIG9wZW5EYXRhYmFzZSgpIHNob3Vs
ZCByZXR1cm4KKyAgICAvLyBhIG51bGwgaGFuZGxlIGFuZCB0aHJvdyBhIElOVkFMSURfU1RBVEVf
RVJSIGV4Y2VwdGlvbi4KKyAgICB2YXIgZGIxRmFpbCA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAg
ICAgZGIxRmFpbCA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEpOworICAgICAg
ICBsb2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkOyBhbiBJ
TlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gc2hvdWxkJ3ZlIGJlZW4gdGhyb3duLiIpOworICAg
ICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBjYXRjaChlcnIpIHsKKyAgICAgICAgaWYgKGRiMUZh
aWwpIHsKKyAgICAgICAgICAgIGxvZygiZGIxRmFpbCBzaG91bGQgaGF2ZSBiZWVuIG51bGwuIik7
CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBP
cGVuIGEgaGFuZGxlIHRvIGFub3RoZXIgZGF0YWJhc2UsIGZpcnN0IHdpdGhvdXQgYSBjcmVhdGlv
biBjYWxsYmFjaywgdGhlbiB3aXRoIG9uZS4KKyAgICAvLyBNYWtlIHN1cmUgdGhlIGNyZWF0aW9u
IGNhbGxiYWNrIGlzIG5vdCBjYWxsZWQuCisgICAgdmFyIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQy
ID0gZmFsc2U7CisgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3BlbkRhdGFiYXNlQ3JlYXRp
b25DYWxsYmFjazIiLCAiMS4wIiwgIiIsIDEpOworICAgIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3Bl
bkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFjazIiLCAiMS4wIiwgIiIsIDEsCisgICAgICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKGRiKSB7IGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyID0gdHJ1ZTsg
fSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmIChjcmVh
dGlvbkNhbGxiYWNrQ2FsbGVkMikgeworICAgICAgICAgICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFj
ayBmb3IgZGIyIHNob3VsZCBub3QgaGF2ZSBiZWVuIGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0g
MikKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KK1RoaXMgdGVzdCB0ZXN0cyBvcGVu
RGF0YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3By
ZT4KKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzJlMmZmYzMwZDRhNDY1YmRkZWJjOTliZjAzNjc5NTk5ZWY5OGZmNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJh
c2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUaGlzIHRlc3Rz
IHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmluZyBk
b2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgorU1VDQ0VTUyEgRGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2
MDQxMTM4M2YxOGNmODBjOWM0YWQ4MzhmNzE1NDliNjljNjY3NmMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24u
aHRtbApAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAKKyAgICB0cnkgeyAg
ICAKKyAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCc1NTYyNDcwVGVzdCcsICcnLCAnVGVz
dCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzU1NjI0NzA+IG9wZW5EYXRhYmFzZSBkb2VzIG5vdCB3b3Jr
IHdoZW4gdGhlIHZlcnNpb24gc3RyaW5nIGlzIGVtcHR5JywgMSk7CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0g
J0ZBSUxVUkUnCisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Cis8ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRo
IGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIGRvZXMgbm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0byBi
ZSB0aHJvd24uCis8ZGl2IGlkPSJyZXN1bHQiPgorU1VDQ0VTUyEgRGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24uCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFhZThk
YjZiMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorVGhpcyB0
ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNu
J3QgYXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmE5MjY0ZGUzM2RmMTE3NDQ5YjRjM2U1M2E2N2NmZWY5NjQ0MWJmZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90
YS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICB9CisKKyAgICB0cnkgewor
ICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4nLCAnJywgJ1Rlc3Qg
Zm9yIGJ1ZyAzNjQ3MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNyZWF0aW5nRGF0YWJh
c2UnLCAxMDAwMDAwMCk7CisgICAgfSBjYXRjaCAoZXJyKSB7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKKyAgICB9Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGhpcyB0ZXN0
cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNuJ3Qg
YXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KKzxkaXYgaWQ9InJlc3VsdCI+CitGQUlMOiBXZSBzaG91
bGRuJ3QgaGF2ZSBiZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4t
ZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDFkOTk2MDM0NGNmNTA4NDJmN2ZlOTU4ZWU3YzZkZTI3NjRiMmRmOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Ut
c2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBN
RVNTQUdFOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJ3Rlc3Qn
IGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50VmVyc2lvbiBvZiAnJworVGhpcyB0ZXN0cyB0aGF0
IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0cyB0
aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoYXQgZGF0YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmluZyBh
bmQgc3Vic2VxdWVudCBhdHRlbXB0cyB0byBvcGVuIHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlmZmVy
ZW50IGV4cGVjdGVkIHZlcnNpb24gdGhyb3cgYW4gZXhjZXB0aW9uLgorU1VDQ0VTUywgYW4gZXhj
ZXB0aW9uIHdhcyB0aHJvd24uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlv
biAxMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFz
ZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Bl
bi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNjA3ZmQxOWM5
ZDc4NTFkMmEwZWZhNDNlMzUwNDBhYzk5ZWRmNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwK
QEAgLTAsMCArMSwyNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIH0KKyAgICAKKyAgICB0cnkgeyAgICAK
KyAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3QnLCAnJywgJ1Rlc3QgZm9y
IGJ1ZyAyODQxNzogb3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVy
c2lvbiB1cCBpbmNvcnJlY3RseScsIDApOworICAgICAgICAvLyBUaGUgbmV4dCBvcGVuRGF0YWJh
c2UgY2FsbCBzaG91bGQgZmFpbCBiZWNhdXNlIHRoZSBkYXRhYmFzZSB2ZXJzaW9uIHdhcyBzZXQg
dG8gJycgYnkgdGhlIGNhbGwgYWJvdmUsIGFuZCBub3cgd2UgYXJlIGV4cGVjdGluZyBhIGRpZmZl
cmVudCB2ZXJzaW9uLgorICAgICAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3Qn
LCAndGVzdCcsICdUZXN0IGZvciBidWcgMjg0MTc6IG9wZW5EYXRhYmFzZSgpIHdpdGggZW1wdHkg
dmVyc2lvbiBzZXRzIGRiIHZlcnNpb24gdXAgaW5jb3JyZWN0bHknLCAwKTsKKyAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhU
TUwgPSAnU1VDQ0VTUywgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uICcgKyBlOworICAgIH0KK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5UaGlz
IHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0
cmluZyBzZXRzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhhdCBkYXRhYmFzZSB0byB0aGUgZW1w
dHkgc3RyaW5nIGFuZCBzdWJzZXF1ZW50IGF0dGVtcHRzIHRvIG9wZW4gdGhlIGRhdGFiYXNlIHdp
dGggYSBkaWZmZXJlbnQgZXhwZWN0ZWQgdmVyc2lvbiB0aHJvdyBhbiBleGNlcHRpb24uPC9kaXY+
Cis8ZGl2IGlkPSJyZXN1bHQiPgorRkFJTFVSRSAtIGFuIGV4Y2VwdGlvbiB3YXMgZXhwZWN0ZWQu
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGls
ZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNhYzhh
ZmNlYmUxMWQ2MTA3ZWU4ZDhlNzY4NDFiMzU2YWJlMDM2MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBpcyBhIHRlc3Qg
dG8gc2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzIHJ1bm5p
bmcgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJlc3VsdHMgaW4g
YSBkZWFkbG9jay4KK29wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1p
bi1wcm9ncmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFz
ZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwN2ExYTQ1
YzljMjM0OTU0YmUyZTAwOTdlOTA3OWI2NTQ3NzFjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWlu
LXByb2dyZXNzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJvcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KK1RoaXMgaXMg
YSB0ZXN0IHRvIHNlZSBpZiBvcGVuaW5nIGEgZGF0YWJhc2Ugd2hpbGUgYSB0cmFuc2FjdGlvbiBp
cyBydW5uaW5nIG9uIGEgZGlmZmVyZW50IGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1
bHRzIGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0
IGRpZG4ndCBydW4uCis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4t
cHJvZ3Jlc3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdo
aWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMWEwYzAxNGUyMzY1
OTBlNzY0NDBhN2E0N2EwNGQwMTY0Y2EzYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dy
ZXNzLmpzCkBAIC0wLDAgKzEsNDEgQEAKKy8vIE9wZW5zIHRoZSBkYXRhYmFzZSB1c2VkIGluIHRo
aXMgdGVzdCBjYXNlCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1cm4g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiT3BlbkRhdGFiYXNlV2hpbGVUcmFuc2FjdGlvbkluUHJv
Z3Jlc3NUZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBj
YWxsaW5nIG9wZW5EYXRhYmFzZSgpIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMgaW4gcHJvZ3Jlc3Mg
b24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvZXMgbm90IHJlc3Vs
dCBpbiBhIGRlYWRsb2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjEw
MDAwMCk7IC8vIDJNQiArIGVwc2lsb24KK30KKworLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yODIwNworLy8gSW4gb3JkZXIgdG8gdHJpZ2dlciB0aGlzIGJ1
ZywgdGhlIHRyYW5zYWN0aW9uIG11c3QgYWNxdWlyZSBhbiBleGNsdXNpdmUKKy8vIGxvY2sgb24g
dGhlIERCIGZpbGUgYmVmb3JlIHRyeWluZyB0byBvYnRhaW4gYSBzZWNvbmQgaGFuZGxlIHRvIHRo
ZSBzYW1lIERCLgorLy8gVGhlIG9ubHkgd2F5IHRvIGZvcmNlIFNRTGl0ZSB0byBvYnRhaW4gYW4g
ZXhjbHVzaXZlIGxvY2sgaXMgdG8gY2hhbmdlIG1vcmUKKy8vIHRoYW4gY2FjaGVfc2l6ZSAqIHBh
Z2Vfc2l6ZSBieXRlcyBpbiB0aGUgZGF0YWJhc2UuIFRoZSBkZWZhdWx0IHZhbHVlIGZvcgorLy8g
Y2FjaGVfc2l6ZSBpcyAyMDAwIHBhZ2VzLCBhbmQgdGhlIGRlZmF1bHQgcGFnZV9zaXplIGlzIDEw
MjQgYnl0ZXMuIFNvIHRoZQorLy8gc2l6ZSBvZiB0aGUgYmxvYiBtdXN0IGJlIGF0IGxlYXN0IDJN
Qi4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYjEgPSBvcGVuVGVzdERhdGFiYXNl
KCk7CisgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIC8vIENyZWF0
ZSB0aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5vdCBleGlzdAorICAgICAgICB0eC5leGVjdXRl
U3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gQkxPQik7Iik7CisgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTIChaRVJPQkxPQigyMDk3
MTUyKSk7IiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygib3BlbkRhdGFiYXNlKCkgc3VjY2VlZGVkLiIp
OworICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24odHgsIGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygiRXhlY3V0aW5n
IHN0YXRlbWVudCBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAg
ICAgICB9KTsKKworICAgICAgICAvLyBDbGVhbiB1cCB0aGUgREIgdG8gYWxsb3cgZm9yIHJlcGVh
dGVkIHJ1bnMgb2YgdGhpcyB0ZXN0CisgICAgICAgIC8vIHdpdGhvdXQgbmVlZGluZyB0byBpbmNy
ZWFzZSB0aGUgZGVmYXVsdCBhbGxvd2VkIHF1b3RhICg1TUIpCisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkRFTEVURSBGUk9NIFRlc3Q7Iik7CisgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAg
ICAgbG9nKCJUcmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICB9LCBm
dW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmct
bm9yZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
cHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjFmNjdkMmZhYzRmMjZlNmYyZDcyODAwNjg4MGQyZjVmZjUzMjkwOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5v
d3JpdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBkdXJpbmcgcHJpdmF0ZSBicm93
c2luZyBmYWlsLgorU2V0dXAgc3RhdGVtZW50IDEgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorU2V0
dXAgc3RhdGVtZW50IDIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorUHJpdmF0ZSBicm93c2luZyBz
dGF0ZW1lbnQgMSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQorUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMiBj
b21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKK1ByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50IDMgY29tcGxldGVkIHdp
dGggYW4gZXJyb3IKK2NvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6
ZWQpCitQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA0IGNvbXBsZXRlZCB3aXRoIGFuIGVycm9y
Citjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorUHJpdmF0
ZSBicm93c2luZyBzdGF0ZW1lbnQgNSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBhY2Nlc3MgdG8gUHJpdmF0ZVRlc3QxLnJhbmRvbURhdGEg
aXMgcHJvaGliaXRlZCkKK1Rlc3QgZW5kZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI5YjU4ODJiNGRlMWM1NjIwNjRjNWU4NDc3MDEwNjk3OWEwMWZjMTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dz
aW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorCitmdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQoreworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2Ug
KyAiXG4iOworfQorCit2YXIgc2V0dXBTdGF0ZW1lbnRzID0gWworICAgICJDUkVBVEUgVEFCTEUg
SUYgTk9UIEVYSVNUUyBQcml2YXRlVGVzdDEgKHJhbmRvbURhdGEpIiwKKyAgICAiSU5TRVJUIElO
VE8gUHJpdmF0ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiCitdOworCit2YXIgcHJpdmF0ZUJy
b3dzaW5nU3RhdGVtZW50cyA9IFsKKyAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUHJp
dmF0ZVRlc3QyIChyYW5kb21EYXRhKSIsCisgICAgIkRFTEVURSBGUk9NIFByaXZhdGVUZXN0MSIs
CisgICAgIkRST1AgVEFCTEUgUHJpdmF0ZVRlc3QxIiwKKyAgICAiSU5TRVJUIElOVE8gUHJpdmF0
ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiLAorICAgICJTRUxFQ1QgKiBGUk9NIFByaXZhdGVU
ZXN0MSIKK107CisKK3ZhciBjb21wbGV0ZWQgPSAwOwordmFyIHRoZVRyYW5zYWN0aW9uOworCitm
dW5jdGlvbiBzZXR1cFN1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQoreworICAgICsrY29tcGxl
dGVkOworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBsZXRl
ZCArICIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSIpOworICAgIGNoZWNrU2V0dXBDb21wbGV0ZSgp
OworfQorCitmdW5jdGlvbiBzZXR1cEVycm9yRnVuY3Rpb24odHgsIGVycm9yKQoreworICAgICsr
Y29tcGxldGVkOworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNv
bXBsZXRlZCArICIgY29tcGxldGVkIHdpdGggYW4gZXJyb3JcbiIgKyBlcnJvci5tZXNzYWdlKTsK
KyAgICBjaGVja1NldHVwQ29tcGxldGUoKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dzaW5n
U3VjY2Vzc0Z1bmN0aW9uKHR4LCByZXN1bHQpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3Jp
dGVNZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQg
KyAiIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dz
aW5nRXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3Jp
dGVNZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQg
KyAiIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2FnZSk7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBydW5TZXR1cCh0cmFuc2FjdGlvbikKK3sKKyAgICB0
aGVUcmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uOworICAgIGZvciAoaSBpbiBzZXR1cFN0YXRlbWVu
dHMpCisgICAgICAgIHRoZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoc2V0dXBTdGF0ZW1lbnRzW2ld
LCBbXSwgc2V0dXBTdWNjZXNzRnVuY3Rpb24sIHNldHVwRXJyb3JGdW5jdGlvbik7Cit9CisKK2Z1
bmN0aW9uIGNoZWNrU2V0dXBDb21wbGV0ZSgpCit7CisgICAgaWYgKGNvbXBsZXRlZCA9PSBzZXR1
cFN0YXRlbWVudHMubGVuZ3RoKQorICAgICAgICBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpOwor
fQorCitmdW5jdGlvbiBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCit7CisgICAgY29tcGxldGVk
ID0gMDsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAg
CisgICAgZm9yIChpIGluIHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHMpCisgICAgICAgIHRoZVRy
YW5zYWN0aW9uLmV4ZWN1dGVTcWwocHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50c1tpXSwgW10sIHBy
aXZhdGVCcm93c2luZ1N1Y2Nlc3NGdW5jdGlvbiwgcHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5jdGlv
bik7Cit9CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJU
ZXN0IGVuZGVkIik7CisgICAgCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlv
biBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHZhciBkYXRhYmFz
ZSA9IG9wZW5EYXRhYmFzZSgiUHJpdmF0ZUJyb3dzaW5nTm9SZWFkTm9Xcml0ZVRlc3QiLCAiMS4w
IiwgIlRlc3QgcHJpdmF0ZSBicm93c2luZyBubyByZWFkL3dyaXRlIHNhZmV0eSIsIDEpOworICAg
IGRhdGFiYXNlLnRyYW5zYWN0aW9uKHJ1blNldHVwLCBlbmRUZXN0LCBlbmRUZXN0KTsKK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFiYXNlIGR1cmluZyBw
cml2YXRlIGJyb3dzaW5nIGZhaWwuPGJyPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90
YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90
YS10cmFja2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NjBmMGMwNGRkNzU2ZmM4ZDQ3
NGIzNzliZTNhNWZjN2Y3Y2U4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitV
SSBERUxFR0FURSBEQVRBQkFTRSBDQUxMQkFDSzogZXhjZWVkZWREYXRhYmFzZVF1b3RhRm9yU2Vj
dXJpdHlPcmlnaW46e2ZpbGUsICwgMH0gZGF0YWJhc2U6UXVvdGFNYW5hZ2VtZW50RGF0YWJhc2Uy
CitUaGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5mb3JjZWQg
cGVyLW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHByaW9yIHRv
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8yOTk4My4K
K1RoZSB0ZXN0IGNsZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3IgdGhlIG9y
aWdpbiB0byA0MGssIHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8gdHdvIGRh
dGFiYXNlcy4gSWYgdGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0IHNob3Vs
ZCBmYWlsLCB0aGUgVUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBleGNlZWRl
ZCBxdW90YSBhbmQgc2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmlnaW4uIElu
c2VydGluZyAxN2sgb2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBhZ2Fpbi4K
K0FkZGluZyBhIHRhYmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBkYXRhCitB
ZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEgZXhjZXB0
aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRo
ZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxv
dyBtb3JlIHNwYWNlCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5n
IHNvbWUgZGF0YQorRG9uZSBhZGRpbmcgZGF0YQorVGVzdCBDb21wbGV0ZQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTUy
NTIzYjE2M2YwNTQ1NTg4YTg4ZWIxMzEwYmRmZDhjNjYyM2ExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApAQCAtMCwwICsx
LDExMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cit2YXIgZGF0YWJhc2UxID0gbnVsbDsK
K3ZhciBkYXRhYmFzZTIgPSBudWxsOwordmFyIGRhdGFiYXNlMyA9IG51bGw7CisKK2Z1bmN0aW9u
IGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIiku
aW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3Qo
KQoreworICAgIGxvZygiVGVzdCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
K30KKworZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAg
bG9nKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5p
c2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJy
b3IpCit7CisgICAgLy8gV2Ugb25seSBleHBlY3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgZGF0YWJh
c2UyCisgICAgaWYgKGRiID09IGRhdGFiYXNlMikgeworICAgICAgICBsb2coIkV4cGVjdGVkIHF1
b3RhIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgY2hlY2tDb21wbGV0
aW9uKGRiKTsKKyAgICB9IGVsc2UgeworICAgICAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9u
IC0gIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQor
CitmdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oZGIpCit7CisgICAgbG9nKCJEb25lIGFkZGluZyBk
YXRhIik7CisKKyAgICBpZiAoZGF0YWJhc2UzKSB7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICB9IGVsc2UgaWYgKGRhdGFiYXNlMikgeworICAgICAgICBkYXRhYmFzZTMgPSBvcGVuRGF0YWJh
c2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMyIsICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFu
YWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7CisgICAgICAgIHRlc3REYXRhYmFzZShkYXRh
YmFzZTMpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRhdGFiYXNlMiA9IG9wZW5EYXRhYmFzZSgi
UXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyIiwgIjEuMCIsICJUZXN0IGZvciBxdW90YSBtYW5hZ2Vt
ZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKKyAgICAgICAgdGVzdERhdGFiYXNlKGRhdGFiYXNl
Mik7CisgICAgfQorfQorCitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOwor
ICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkg
VkFMVUVTIChaRVJPQkxPQigxNzQwOCkpIiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsKKyAgICAgICAg
aWYgKGRiID09IGRhdGFiYXNlMikgeworICAgICAgICAgICAgLy8gVHJ5IHRvIHJ1biB0aGlzIHN0
YXRlbWVudCBvbiAnZGF0YWJhc2UyJyBvbmx5LgorICAgICAgICAgICAgLy8gSXQgc2hvdWxkIG5v
dCBiZSBydW4sIGJlY2F1c2UgdGhlIHByZXZpb3VzIHN0YXRlbWVudCBzaG91bGQndmUKKyAgICAg
ICAgICAgIC8vIHJlc3VsdGVkIGluIGEgZmFpbHVyZSB0aGF0IG1hZGUgc3FsaXRlIHJvbGwgYmFj
ayB0aGUgZW50aXJlIHRyYW5zYWN0aW9uLgorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gRGF0YVRlc3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoWkVST0JMT0IoMTApKSIsIFtd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3Qg
aGF2ZSBiZWVuIHJ1bi4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlv
bik7CisgICAgICAgIH0KKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICB0cmFuc2Fj
dGlvbkVycm9yRnVuY3Rpb24oZGIsIGVycm9yKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdERhdGFi
YXNlKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxv
ZygiQWRkaW5nIGEgdGFibGUiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxF
IERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLAorICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHR4LCByZXN1bHQpIHsgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7CisgICAgfSwgZnVu
Y3Rpb24oZXJyb3IpIHsKKyAgICAgICAgdHJhbnNhY3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBlcnJv
cik7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGFkZERhdGEoZGIpOworICAgIH0pOwor
fQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygp
OworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDQwOTYwKTsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZGF0YWJhc2Ux
ID0gb3BlbkRhdGFiYXNlKCJRdW90YU1hbmFnZW1lbnREYXRhYmFzZTEiLCAiMS4wIiwgIlRlc3Qg
Zm9yIHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81NjI4NDY4PiIsIDEpOworICAgIHRlc3REYXRh
YmFzZShkYXRhYmFzZTEpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMg
YXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkg
d2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFu
Z2VzZXQvMjk5ODMuPGJyPgorVGhlIHRlc3QgY2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhl
IHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9m
IGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNl
Y29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3Jt
ZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZv
ciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3Vs
ZCBzdWNjZWVkIGFnYWluLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3ByZT4KKzwvYm9keT4KKwor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQt
d3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1
bi10b2dldGhlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4OTc5YzNjYjUwN2Q5MjAwMDU3
N2Y4ZmZjYzc3MDQ3ZjIxNTdkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBh
bmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRh
dGFiYXNlIGRvbid0IHJ1biB0b2dldGhlci4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFu
c2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9u
IHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vz
c2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgor
VHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0
aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
cmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTFkYTM1Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBmOGZjOTg1NgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRv
Z2V0aGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5U
ZXN0KCk7Ij4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9u
cyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBkb24ndCBydW4gdG9n
ZXRoZXIuPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4u
Cis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5q
cyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9u
cy1kb250LXJ1bi10b2dldGhlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjgxN2JhZDMzMDczNzFkN2FkMTk5
YjQwYmYxMTliNWIwNTYzN2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpz
CkBAIC0wLDAgKzEsODEgQEAKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQoreworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7CisgICAg
cmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9uc0Rv
bnRSdW5Ub2dldGhlclRlc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIx
LjAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3Vy
ZSB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFuZGxl
cyB0byB0aGUgc2FtZSBEQiBkb24ndCBydW4gYXQgdGhlIHNhbWUgdGltZS4iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKK30KKwordmFyIHJlYWRUcmFuc2FjdGlv
bnNJblByb2dyZXNzID0gMDsKK3ZhciB3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwor
dmFyIHRvdGFsVHJhbnNhY3Rpb25zID0gMDsKK3ZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7
CisKK2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uKGRiLCByZWFkT25seSkKK3sKKyAgICB2YXIgdHJh
bnNhY3Rpb25GdW5jdGlvbiA9IChyZWFkT25seSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRiLnRy
YW5zYWN0aW9uKTsKKyAgICB0cmFuc2FjdGlvbkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9uKHR4
KSB7CisgICAgICAgICAgICBpZiAocmVhZE9ubHkpIHsKKyAgICAgICAgICAgICAgICBpZiAod3Jp
dGVUcmFuc2FjdGlvbnNJblByb2dyZXNzICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgbG9n
KCJSZWFkIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGluIHBy
b2dyZXNzLiIpOworICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICgocmVhZFRyYW5zYWN0
aW9uc0luUHJvZ3Jlc3MgIT0gMCkgfHwgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAw
KSkgeworICAgICAgICAgICAgICAgICAgICBsb2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0aW5n
IHdoaWxlIGFub3RoZXIgdHJhbnNhY3Rpb24gaW4gcHJvZ3Jlc3MuIik7CisgICAgICAgICAgICAg
ICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgd3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBGUk9NIFRlc3Q7Iik7CisgICAgICAgIH0sIGZ1
bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDogIldy
aXRlIikgKyAiIHRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAg
ICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucysrOworICAgICAgICAgICAgIGlmIChyZWFkT25seSkK
KyAgICAgICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKKyAgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0t
OworICAgICAgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4iKTsKKyAgICAgICAg
ICAgICBpZiAoKGZpbmlzaGVkVHJhbnNhY3Rpb25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAmJiAo
cmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25zSW5Q
cm9ncmVzcyA9PSAwKSkKKyAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAg
ICB9KTsKK30KKworZnVuY3Rpb24gcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIy
LCBkYjMpCit7CisgICAgdG90YWxUcmFuc2FjdGlvbnMgPSAxMDsKKyAgICBmaW5pc2hlZFRyYW5z
YWN0aW9ucyA9IDA7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKKyAgICBydW5UcmFu
c2FjdGlvbihkYjIsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOworICAg
IHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0cnVl
KTsKKyAgICBydW5UcmFuc2FjdGlvbihkYjMsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRi
MSwgZmFsc2UpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgZmFsc2UpOworICAgIHJ1blRyYW5z
YWN0aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKK30KKwor
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwor
ICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7CisgICAgdmFyIGRiMyA9IG9wZW5UZXN0
RGF0YWJhc2UoKTsKKyAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBp
bnQpOyIpOworICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9nKCJD
YW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAg
ICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpOworICAgICAgICB9
KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNh
Y3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNThkMmRmZTZhYmIxYTMxNDU3ZWI1MTc5ZWRmNGNmMDAwODFm
Njg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10
cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdHdvIHJlYWQtb25seSB0cmFuc2FjdGlvbnMgb24g
ZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcnVuIGNvbmN1cnJlbnRseS4K
K1JlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1
cnJlbnRseS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlv
bnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmQ4NjJjMWU2Y2U4MjRm
NDA4ODU4NTg0Yjk1ODcxOWI5NWNjMGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRt
bApAQCAtMCwwICsxLDY3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24g
bG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gbWVzc2FnZSAr
ICI8YnI+IjsKK30KKworZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1
cm4gb3BlbkRhdGFiYXNlKCJSZWFkVHJhbnNhY3Rpb25zUnVubmluZ0NvbmN1cnJlbnRseVRlc3Qi
LAorICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBtdWx0aXBsZSByZWFkIHRyYW5zYWN0aW9ucyBvbiBk
aWZmZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2FtZSBEQiBydW4gY29uY3VycmVudGx5LiIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAzMjc2OCk7Cit9CisKK3ZhciByZWFkVHJhbnNhY3Rpb25z
SW5Qcm9ncmVzcyA9IDA7CisKK2Z1bmN0aW9uIHJ1blJlYWRUcmFuc2FjdGlvbihkYikKK3sKKyAg
ICBkYi5yZWFkVHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHJlYWRUcmFu
c2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7CisgICAg
ICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb24gZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7
CisgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgaWYgKHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID09IDIpCisgICAgICAg
ICAgICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRseS4iKTsK
KyAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzLS07CisgICAgICAgICAgICBp
ZiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkKKyAgICAgICAgICAgICAgICB0ZXJt
aW5hdGVUZXN0KCk7CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGRiMSA9IG9wZW5U
ZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAg
ICAgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7Iik7
CisgICAgICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAgIGxvZygi
Q2Fubm90IGNyZWF0ZSB0aGUgVGVzdCB0YWJsZTogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAg
ICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgIHJ1blJlYWRUcmFuc2FjdGlvbihkYjEpOworICAgICAgICAgICAgICAg
IHJ1blJlYWRUcmFuc2FjdGlvbihkYjIpOworICAgICAgICAgICAgfSk7CisgICAgIH0gY2F0Y2go
ZXJyKSB7IGxvZyhlcnIpOyB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0d28gcmVhZC1vbmx5IHRyYW5zYWN0
aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBydW4gY29uY3Vy
cmVudGx5Ljxicj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQx
ZWI0MTAyZTUxOGNkOTk2NWUzY2EwZTQwMTJiMmE1MWQ1MWZlNzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpz
CkBAIC0wLDAgKzEsMjkgQEAKK3ZhciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKKworZnVuY3Rp
b24gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6
ZSwgY2FsbGJhY2spCit7CisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7CisgICAgICAg
IHJldHVybiBvcGVuRGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNj
cmlwdGlvbiwgc2l6ZSwgY2FsbGJhY2spOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiBv
cGVuRGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwg
c2l6ZSk7CisgICAgfQorfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsK
K30KKworZnVuY3Rpb24gc2V0TG9jYXRpb25IYXNoKGhhc2gpIHsKKyAgICBsb2NhdGlvbi5oYXNo
ID0gaGFzaDsKK30KKworZnVuY3Rpb24gc2V0dXBBbmRSdW5UZXN0KCkKK3sKKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgIH0KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVy
VGV4dCA9ICIiOworICAgIHJ1blRlc3QoKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRl
ci1yZWxvYWQtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlMGYwOWNlYTcxYTViM2Q1NjBiNmQyODczNDdl
MWQwM2Y4YmE4MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sCkBAIC0wLDAgKzEs
NTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVz
c2FnZSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9nKCJU
ZXN0IHBhcnQgMiBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVu
Y3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiAr
IGVycm9yLm1lc3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gYWRkRGF0
YShkYikKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICBsb2co
Ikluc2VydGluZyBzb21lIGRhdGEiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElO
VE8gRGF0YVRlc3QgKHRlc3REYXRhKSBWQUxVRVMgKD8pIiwgWyJBIl0sCisgICAgICAgICAgICBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0
aW9uKGVycm9yKTsgfSk7CisgICAgfSwgZnVuY3Rpb24oKSB7IH0sIGZ1bmN0aW9uKCkgeyBmaW5p
c2hUZXN0KCk7IH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworICAgIH0KKworICAgIHRyeSB7CisgICAgICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFz
ZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9ja2luZyIs
IDUyNDI4ODApOworICAgICAgICBhZGREYXRhKGRhdGFiYXNlKTsKKyAgICB9IGNhdGNoKGUpIHsK
KyAgICAgICAgbG9nKCJFcnJvciAtIGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7CisgICAgICAg
IGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5Pgor
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJj
ZXMvc3RyZXNzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJj
ZXMvc3RyZXNzLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk5YWYzYzc5NjFmNDI3YTg3YTZlZjdm
YWFmMGQxNGIyODliYzcyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgordmFyIGRiOworCit0cnkgewor
ICAgIGlmICh3aW5kb3cub3BlbkRhdGFiYXNlKSB7CisgICAgICAgIGRiID0gb3BlbkRhdGFiYXNl
KCJTdHJlc3NUZXN0MiIsICIxLjAiLCAiRGF0YWJhc2Ugc3RyZXNzIHRlc3QiLCAyMDAwMDApOwor
ICAgICAgICBpZiAoIWRiKQorICAgICAgICAgICAgYWxlcnQoIkZhaWxlZCB0byBvcGVuIHRoZSBk
YXRhYmFzZSBvbiBkaXNrLiAgVGhpcyBpcyBwcm9iYWJseSBiZWNhdXNlIHRoZSB2ZXJzaW9uIHdh
cyBiYWQgb3IgdGhlcmUgaXMgbm90IGVub3VnaCBzcGFjZSBsZWZ0IGluIHRoaXMgZG9tYWluJ3Mg
cXVvdGEiKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYWxlcnQoIkNvdWxkbid0IG9wZW4gdGhlIGRh
dGFiYXNlLiAgUGxlYXNlIHRyeSB3aXRoIGEgV2ViS2l0IG5pZ2h0bHkgd2l0aCB0aGlzIGZlYXR1
cmUgZW5hYmxlZCIpOworfSBjYXRjaChlcnIpIHsgfQorCitmdW5jdGlvbiBsb2FkZWQoKQorewor
ICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IlNFTEVDVCBDT1VOVCgqKSBGUk9NIFdlYmtpdFN0aWNreU5vdGVzIiwgW10sIGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgICAgICAgICAgbG9hZE5vdGVzKCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKHR4
LCBlcnJvcikgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIFdlYktp
dFN0aWNreU5vdGVzIChpZCBSRUFMIFVOSVFVRSwgbm90ZSBURVhUKSIsIFtdLCBmdW5jdGlvbihy
ZXN1bHQpIHsgCisgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gV2Vi
S2l0U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzEsICdUZXh0J10sIGZ1
bmN0aW9uKHJlc3VsdCkgeyAKKyAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gV2ViS2l0U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzIs
ICdNb3JlIFRleHQnXSwgZnVuY3Rpb24ocmVzdWx0KSB7IAorICAgICAgICAgICAgICAgICAgICAg
ICAgbG9hZE5vdGVzKCk7IAorICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rp
b24gbG9hZE5vdGVzKCkKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAg
ICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgaWQsIG5vdGUgRlJPTSBXZWJLaXRTdGlja3lOb3Rl
cyIsIFtdLCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBsb2FkTm90ZXMoKTsK
KyAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICBhbGVydCgnRmFp
bGVkIHRvIHJldHJpZXZlIG5vdGVzIGZyb20gZGF0YWJhc2UgLSAnICsgZXJyb3IubWVzc2FnZSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0pOworICAgIH0pOworfQorCithZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgbG9hZGVkLCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IG5lZWRzIHRvIHJ1biB3aXRob3V0IGNyYXNoZXMgYW5kIGFzc2Vy
dGlvbiBmYWlsdXJlcyBmb3IgYSB3aGlsZS48cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNjBjYWY1MjNiODcyOGUwYzU2NGQ2ZGE1OWFkYzZkMjg2ZmU1MmI1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlw
ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorUEFTUzogcHJvcGVydHkgJ3RpbWVzdGFt
cCcgb2ssIHR5cGUgd2FzIG51bWJlcgorUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3YXMg
bnVtYmVyCitQQVNTOiBwcm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgorUEFTUzog
cHJvcGVydHkgJ3RleHQnIG9rLCB0eXBlIHdhcyBzdHJpbmcKK1BBU1M6IHByb3BlcnR5ICdibG9i
JyBvaywgdHlwZSB3YXMgc3RyaW5nCitQQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2QxYzk4Zjg0NGMwNzNiMzllYjNhNmQ1NDVmYTQwMDMzNDRkYTFiNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKQEAg
LTAsMCArMSwxMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9InNxbC1kYXRhLXR5cGVzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+CisK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRh
LXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzZmY2QwMTNiNjY3ZmJiNTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVz
LmpzCkBAIC0wLDAgKzEsODcgQEAKKy8vZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHRoZSBqYXZhc2NyaXB0IHZhbHVlcyByZXR1cm5lZCBieSBkYXRhYmFzZSBxdWVyaWVzIGFy
ZSBvZiBzYW1lIHR5cGUgYXMgdGhlIHZhbHVlcyBwdXQgaW50byB0aGUgZGF0YWJhc2UuIik7CisK
K2Z1bmN0aW9uIHdyaXRlTWVzc2FnZVRvTG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisK
K2Z1bmN0aW9uIG5vdGlmeURvbmUoc3RyKSB7CisgICAgd3JpdGVNZXNzYWdlVG9Mb2coc3RyKTsK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0ZXN0VmFsdWVzID0geworICAgIHRp
bWVzdGFtcDogbmV3IERhdGUoIldlZCBGZWIgMDYgMjAwOCAxMjoxNjo1MiBHTVQrMDIwMCAoRUVU
KSIpLnZhbHVlT2YoKSwKKyAgICBpZDogMTAwMSwKKyAgICByZWFsOiAxMDEuNDQ0LAorICAgIHRl
eHQ6ICJXZWJLaXQgZGIgVEVYVCIsCisgICAgYmxvYjogInN1cGVyY2FsaWZyYWdpbGlzdGljIgor
fTsKKworZnVuY3Rpb24gc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKHByb3BOYW1lLCB0ZXN0VmFs
dWUsIHJlc3VsdCkgeworICAgIGlmICh0ZXN0VmFsdWUgPT0gcmVzdWx0ICYmIHR5cGVvZiB0ZXN0
VmFsdWUgPT0gdHlwZW9mIHJlc3VsdCkgeworICAgICAgICB3cml0ZU1lc3NhZ2VUb0xvZygiUEFT
UzogcHJvcGVydHkgJyIgKyBwcm9wTmFtZSArICInIG9rLCB0eXBlIHdhcyAiICsgdHlwZW9mIHJl
c3VsdCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICB3cml0ZU1lc3NhZ2VUb0xv
ZygiRkFJTDogcHJvcGVydHkgJyIgKyBwcm9wTmFtZSArICInIGZhaWxlZC4iCisgICAgICAgICsg
IiBleHBlY3RlZDogIiArIHR5cGVvZiB0ZXN0VmFsdWUgKyAiOiciICsgdGVzdFZhbHVlICsgIicg
IgorICAgICAgICArICIgZ290OiAiICsgdHlwZW9mIHJlc3VsdCArICI6JyIgKyByZXN1bHQgKyIn
Iik7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiB0ZXN0REJWYWx1ZXModHgsIHJl
c3VsdCkgeworICAgIHZhciBycyA9IHJlc3VsdC5yb3dzLml0ZW0oMCk7CisgICAgLy8gQXZvaWQg
Zm9yIC4uIGluIGJlY2F1c2UgKHRoZXJldGljYWxseSkgdGhlIG9yZGVyIGNhbiBjaGFuZ2UKKyAg
ICBpID0gInRpbWVzdGFtcCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVz
W2ldLCByc1tpXSk7CisgICAgaSA9ICJpZCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0
ZXN0VmFsdWVzW2ldLCByc1tpXSk7CisgICAgaSA9ICJyZWFsIjsgc2hvdWxkQmVTYW1lVHlwZUFu
ZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKKyAgICBpID0gInRleHQiOyBzaG91bGRC
ZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOworICAgIGkgPSAiYmxv
YiI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7Cisg
ICAgCisgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJMRSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtd
LAorICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBub3RpZnlEb25l
KCJQQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4iKTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVu
Y3Rpb24odHgsIHJlc3VsdCkgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRGF0YWJh
c2UgY2xlYW4gdXAgZmFpbGVkLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gZmV0Y2hE
QlZhbHVlc1N0bXQodHgsIHJlc3VsdCkgeworICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAqIEZS
T00gRGF0YVR5cGVUZXN0VGFibGUiLCBbXSwKKyAgICAgICAgdGVzdERCVmFsdWVzLAorICAgICAg
ICBmdW5jdGlvbih0eCxlcnJvcikgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJy
b3IgZmV0Y2hpbmcgdmFsdWVzIGZyb20gdGhlIGRiLiIpCisgICAgICAgIH0pOworfQorCitmdW5j
dGlvbiBpbnNlcnRUZXN0VmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7CisgICAgdHguZXhlY3V0ZVNx
bCgiSU5TRVJUIElOVE8gRGF0YVR5cGVUZXN0VGFibGUgKGlkLCByZWFsLCB0aW1lc3RhbXAsIHRl
eHQsIGJsb2IpIFZBTFVFUyAoPyw/LD8sPyw/KSIsCisgICAgICAgIFt0ZXN0VmFsdWVzLmlkLCB0
ZXN0VmFsdWVzLnJlYWwsIHRlc3RWYWx1ZXMudGltZXN0YW1wLCB0ZXN0VmFsdWVzLnRleHQsIHRl
c3RWYWx1ZXMuYmxvYl0sCisgICAgICAgIGZldGNoREJWYWx1ZXNTdG10LAorICAgICAgICBmdW5j
dGlvbih0eCwgZXJyb3IpIHsKKyAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGlu
c2VydGluZyB2YWx1ZXMgdG8gdGhlIGRiLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24g
Y3JlYXRlVGVzdERCU3RtdCh0eCkKK3sKKyAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUg
SUYgTk9UIEVYSVNUUyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQgSU5URUdFUiBVTklRVUUsIHJlYWwg
UkVBTCwgdGltZXN0YW1wIElOVEVHRVIsIHRleHQgVEVYVCwgYmxvYiBCTE9CKSIsIFtdLAorICAg
ICAgICBpbnNlcnRUZXN0VmFsdWVzU3RtdCwKKyAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7
CisgICAgICAgICAgICBub3RpZnlEb25lKCJGQUlMOiBFcnJvciBjcmVhdGluZyB0aGUgZGIuIik7
CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgfQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YVR5cGVUZXN0IiwgIjEuMCIs
ICJEYXRhYmFzZSBmb3Igc3FsIGRhdGEgdHlwZSB0ZXN0IiwgMSk7CisgICAgaWYgKGRiKQorICAg
ICAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVUZXN0REJTdG10KTsKKyAgICBlbHNlCisgICAgICAg
IG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIG9wZW5pbmcgdGhlIGRiIik7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lMTk3NzZhNWZmNzFjYWI1NzI2MWE3YWE0NGYzMGE5ODE1N2I0YzJmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNv
ZGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IEV4Y2Vw
dGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCitDT05TT0xFIE1FU1NBR0U6IENh
bm5vdCBjYWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCitUaGlzIHRlc3QgdGVzdHMgdGhl
IGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCitQQVNTOiBl
eHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFu
ZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJv
ciBjb2RlIFNZTlRBWF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5U
QVhfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BB
U1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKK1BBU1M6IGV4cGVjdGVk
IGFuZCBnb3QgZXJyb3IgY29kZSBWRVJTSU9OX0VSUgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNzBjNmNhZmU4ODlj
N2U4YmE0ZWYwOGY1OTM4N2UwZDNlMTViMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbApAQCAtMCwwICsxLDEyIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNxbC1lcnJvci1jb2Rlcy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVz
dHMgdGhlIGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuPGJy
PgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3NxbC1lcnJvci1jb2Rlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJv
ci1jb2Rlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEyNmEz
YTU4NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3Fs
LWVycm9yLWNvZGVzLmpzCkBAIC0wLDAgKzEsMTE0IEBACitmdW5jdGlvbiBmaW5pc2hUZXN0KCkK
K3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciBUT1RBTF9URVNUUyA9IDc7Cit2
YXIgdGVzdHNSdW4gPSAwOworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKGVycm9y
LCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgaWYgKGVycm9yLmNvZGUgPT0gZXJyb3Jb
ZXhwZWN0ZWRFcnJvckNvZGVOYW1lXSkgeworICAgICAgICBsb2coIlBBU1M6IGV4cGVjdGVkIGFu
ZCBnb3QgZXJyb3IgY29kZSAiICsgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKKyAgICAgICAgaWYg
KCsrdGVzdHNSdW4gPT0gVE9UQUxfVEVTVFMpCisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgbG9nKCJGQUlMOiBleHBlY3RlZCBlcnJvciBjb2RlICIgKyBl
eHBlY3RlZEVycm9yQ29kZU5hbWUgKyAiICgiICsgZXJyb3JbZXhwZWN0ZWRFcnJvckNvZGVOYW1l
XSArICIpOyBnb3QgIiArIGVycm9yLmNvZGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAg
fQorfQorCitmdW5jdGlvbiB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjaygpCit7CisgICAgbG9n
KCJGQUlMOiBhIHRyYW5zYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIpOworICAg
IGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uKGRiLCB0cmFuc2Fj
dGlvbkNhbGxiYWNrLCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgZGIudHJhbnNhY3Rp
b24odHJhbnNhY3Rpb25DYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihlcnJv
cikgeworICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soZXJy
b3IsIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgfSwgdHJhbnNh
Y3Rpb25TdWNjZXNzQ2FsbGJhY2spOworfQorCitmdW5jdGlvbiB0ZXN0VHJhbnNhY3Rpb25UaHJv
d3NFeGNlcHRpb24oZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkg
eyB0aHJvdyAiRXhjZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4iOyB9LCAi
VU5LTk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1
c2VPZlN0YXRlbWVudEZhaWx1cmUoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAg
dHguZXhlY3V0ZVNxbCgiQkFEIFNUQVRFTUVOVCIsIFtdLCBudWxsLCBmdW5jdGlvbih0eCwgZXJy
b3IpIHsgcmV0dXJuIHRydWU7IH0pOworICAgICAgICAgICAgICAgICAgICB9LCAiVU5LTk9XTl9F
UlIiKTsKK30KKworZnVuY3Rpb24gdGVzdEludmFsaWRTdGF0ZW1lbnQoZGIpCit7CisgICAgdGVz
dFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkgeyB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVN
RU5UIik7IH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RJbmNvcnJlY3ROdW1i
ZXJPZkJpbmRQYXJhbWV0ZXJzKGRiKQoreworICAgIHRlc3RUcmFuc2FjdGlvbihkYiwKKyAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmROdW1iZXJUZXN0
IChGb28gSU5ULCBCYXIgSU5UKSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiSU5TRVJUIElOVE8gQmFkQmluZE51bWJlclRlc3QgVkFMVUVTICg/LCA/KSIsIFsxXSk7
CisgICAgICAgICAgICAgICAgICAgIH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRl
c3RCaW5kUGFyYW1ldGVyT2ZXcm9uZ1R5cGUoZGIpCit7CisgICAgdmFyIGJhZFN0cmluZyA9IHsg
fTsKKyAgICBiYWRTdHJpbmcudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgdGhyb3cgIkNhbm5vdCBj
YWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuIiB9OworCisgICAgdGVzdFRyYW5zYWN0aW9u
KGRiLCBmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUg
SUYgTk9UIEVYSVNUUyBCYWRCaW5kVHlwZVRlc3QgKEZvbyBURVhUKSIpOworICAgICAgICB0eC5l
eGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kVHlwZVRlc3QgVkFMVUVTICg/KSIsIFtiYWRT
dHJpbmddKTsKKyAgICB9LCAiVU5LTk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFF1b3Rh
RXhjZWVkZWQoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUXVvdGFUZXN0IChGb28gQkxPQikiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFF1b3RhVGVz
dCBWQUxVRVMgKFpFUk9CTE9CKDEwICogMTAyNCAqIDEwMjQpKSIpOworICAgICAgICAgICAgICAg
ICAgICB9LCAiUVVPVEFfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RWZXJzaW9uTWlzbWF0Y2go
ZGIpCit7CisgICAgLy8gVXNlIGFub3RoZXIgREIgaGFuZGxlIHRvIGNoYW5nZSB0aGUgdmVyc2lv
bi4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIERCIHZlcnNpb24gaXMg
bm90CisgICAgLy8gY2hhbmdlZCBiZWZvcmUgdGhlIHRyYW5zYWN0aW9ucyBpbiB0aGUgb3RoZXIg
dGVzdHMgaGF2ZSBydW4sIHdlIG5lZWQgdG8gZG8gaXQgaW4gYSB0cmFuc2FjdGlvbiBvbiAnZGIn
LgorICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHZhciBkYjIgPSBv
cGVuRGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVzVGVzdCIsICIxLjAiLCAiVGVzdHMg
dGhlIGVycm9yIGNvZGVzLiIsIDEpOworICAgICAgICBkYjIuY2hhbmdlVmVyc2lvbigiMS4wIiwg
IjIuMCIsIGZ1bmN0aW9uKHR4KSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkZBSUw6IGNv
dWxkIG5vdCBjaGFuZ2UgdGhlIERCIHZlcnNpb24uIik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0
aW9uKCkgeyB9KTsKKyAgICAgICAgfSk7CisKKyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCisgICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBTSE9VTEQgTkVWRVIgR0VUIEVYRUNVVEVEIik7
CisgICAgICAgICAgICAgICAgICAgIH0sICJWRVJTSU9OX0VSUiIpOworfQorCitmdW5jdGlvbiBy
dW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworCisgICAgdmFyIGRi
ID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiU1FMRXJyb3JDb2Rlc1Rlc3QiLCAiMS4wIiwgIlRl
c3RzIHRoZSBlcnJvciBjb2Rlcy4iLCAxKTsKKyAgICB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNl
cHRpb24oZGIpOworICAgIHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRG
YWlsdXJlKGRiKTsKKyAgICB0ZXN0SW52YWxpZFN0YXRlbWVudChkYik7CisgICAgdGVzdEluY29y
cmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpOworICAgIHRlc3RCaW5kUGFyYW1ldGVyT2ZX
cm9uZ1R5cGUoZGIpOworICAgIHRlc3RRdW90YUV4Y2VlZGVkKGRiKTsKKyAgICB0ZXN0VmVyc2lv
bk1pc21hdGNoKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM0MDNkOWYwYzk2Nzg3MTU5MGMxNTE0MDcwZTYwODA2N2U1MDEyMTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK0NPTlNPTEUgTUVTU0FHRTogRXhjZXB0
aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjaworVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQg
YSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBh
IHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMg
dHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlv
biBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJy
b3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNh
bGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgor
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorVGVzdCBD
b21wbGV0ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMzc2ODk2MzhiZDJiOGJlNWI4NmJiMzNlMDU2ZmYw
ODU1N2FkNjg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5
LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgorVGhpcyB0
ZXN0IHRlc3RzIHRoYXQgdGhlIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4g
dGhlIHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYwNDUx
MDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUg
c3RhdGVtZW50IGVycm9yIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50RXJyb3JDYWxs
YmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKytzdGF0ZW1l
bnRFcnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwor
ZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEodHgsIGVycm9yKQoreworICAgIGFsZXJ0
KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKwor
ZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazIodHgsIGVycm9yKQoreworICAgIGFsZXJ0
KGRvY3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJvZHkuZm9v
ID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsK
K2RvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4g
YSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJh
c2VzKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAgICAgImZ1
bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sxKHR4LCBlcnJvcilcbiIgKworICAgICAgICAi
e1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAg
ICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAg
ICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJy
b3JDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAi
ZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAgIiAgICB0eC5leGVj
dXRlU3FsKCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgc3RhdGVt
ZW50RXJyb3JDYWxsYmFjazEpO1xuIiArCisgICAgICAgICJ9KTsiKTsKKworICAgIHZhciBkYjIg
PSBvcGVuRGF0YWJhc2UoJ1N0YXRlbWVudEVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcx
LjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAg
IHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9
LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMik7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRl
bWVudC1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3Rh
dGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiODM2ZDE2MThiOTkzMjQ1
Njg1MWFjOWY4ZTA3YTc2Y2MxNWZhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsODcg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNz
YWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBsb2coIlRl
c3QgQ29tcGxldGUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0eENhbGxi
YWNrQ291bnQgPSAwOwordmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsKK3ZhciBkYXRh
YmFzZTsKKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWwsIHN0YXRlbWVu
dEVycm9yQ2FsbGJhY2spCit7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVz
dFRhYmxlIChSYW5kb21EYXRhIFRFWFQpIik7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VS
VCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOworICAgICAgICB0eC5leGVj
dXRlU3FsKCJUSElTIFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKKyAgICAgICAgICAgIGZ1bmN0
aW9uKHR4LCBkYXRhKSB7CisgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhpcyBzdGF0ZW1l
bnQgc2hvdWxkIGhhdmUgZmFpbGVkIik7CisgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwor
ICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7CisgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0MSddLAorICAg
ICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRU
b0ZhaWwpCisgICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNo
b3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7CisgICAgICAgICAgICB9LCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICAgICAg
ICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1
dGVkIik7CisgICAgICAgICAgICB9KTsKKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAg
ICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUgdHJhbnNh
Y3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGxvZygiRkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBzaG91bGQg
bm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOworICAgICAgICBpZiAoKyt0eENhbGxiYWNrQ291bnQg
PT0gTlVNQkVSX09GX1RSQU5TQUNUSU9OUykKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQorICAgICAgICAg
ICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgc2hvdWxkIG5v
dCBoYXZlIGJlZW4gaW52b2tlZC4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nKCJQ
QVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7Cisg
ICAgICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJT05TKQor
ICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0
KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVycm9yIGNhbGxi
YWNrIHRlc3QiLCAxMDI0KTsKKworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9uKGVy
cm9yKSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5jdGlv
bihlcnJvcikgeyB0aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayI7
IHJldHVybiBmYWxzZTsgfSk7CisgICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJy
b3IpIHsgcmV0dXJuICJzb21lIHN0cmluZyI7IH0pOworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUs
IGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiAxMjM0OyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0
cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsgfSk7CisgICAg
cnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJmYWxzZSI7IH0p
OworICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30pOworICAgIHJ1
blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFsc2U7IH0pOwor
ICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gMDsgfSk7
CisgICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiBudWxs
OyB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkg
cm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0
aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2
YWx1ZS4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yZWYwMjdkZmJkMWEwNDM0NjNmMjE3NjliNzM3MTlhODhlNWJmNmQw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50
LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorQUxFUlQ6IHVuZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZp
c2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVz
dHMgdGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSBy
aWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3Rh
dGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZjMTEz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVu
dC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw1MiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhl
IHN0YXRlbWVudCBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50U3VjY2Vz
c0NhbGxiYWNrc0ludm9rZWQgPSAwOworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgaWYgKCgrK3N0
YXRlbWVudFN1Y2Nlc3NDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpCit7Cisg
ICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgp
OworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2syKHR4LCBkYXRhKQorewor
ICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50
LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQg
d29ybGQuIjsKK2RvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZp
c2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFy
QWxsRGF0YWJhc2VzKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAg
ICAgICAgImZ1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpXG4iICsK
KyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtc
biIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xu
IiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1N0
YXRlbWVudFN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIg
KworICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAg
IiAgICB0eC5leGVjdXRlU3FsKCdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28g
SU5UKScsIFtdLCBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKTtcbiIgKworICAgICAgICAifSk7
Iik7CisKKyAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRTdWNjZXNzQ2FsbGJh
Y2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBUQUJMRSBJRiBOT1Qg
RVhJU1RTIFRlc3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazIpOwor
ICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc2MTkwMjQ0MTc4YzNlYTJkZDkzYTU2MjMwMmE4MDZlYTg0ODk4NGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEg
c3VjY2Vzc2Z1bCB0cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0aG91dCBhIHN0YXRlbWVu
dCAtIHJlY2VpdmVzIGl0cyBzdWNjZXNzQ2FsbGJhY2sKK1RyYW5zYWN0aW9uIHN1Y2NlZWRlZCAt
IFRyYW5zYWN0aW9uIHdpdGggb25lIHN0YXRlbWVudAorVHJhbnNhY3Rpb24gc3VjY2VlZGVkIC0g
RW1wdHkgdHJhbnNhY3Rpb24KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyMzdhYmE4MmUz
MDk3MjQ4MWFhYmI3MDUwZDVhMjE0NmUyNWMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSw1NCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQorewor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3Nh
Z2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGxvZygiVGVz
dCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXJy
b3JGdW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9yLm1l
c3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKwordmFyIHN1Y2Nlc3NDb3VudCA9IDA7CisK
K2Z1bmN0aW9uIHN1Y2Nlc3NGdW5jdGlvbihtZXNzYWdlKQoreworICAgIGxvZygiVHJhbnNhY3Rp
b24gc3VjY2VlZGVkIC0gIiArIG1lc3NhZ2UpOworICAgIGlmICgrK3N1Y2Nlc3NDb3VudCA9PSAy
KQorICAgICAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgfQorICAgIAorICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiU3Vj
Y2Vzc0NhbGxiYWNrRGF0YWJhc2UiLCAiMS4wIiwgIlRlc3QgZm9yIHN1Y2Nlc3MgY2FsbGJhY2sg
PHJkYXI6Ly81NzM3NjkyPiIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFN1Y2Nlc3ND
YWxsYmFja1Rlc3QgKHJhbmRvbURhdGEpIiwgW10pOyB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlv
bigpIHsgc3VjY2Vzc0Z1bmN0aW9uKCJUcmFuc2FjdGlvbiB3aXRoIG9uZSBzdGF0ZW1lbnQiKTsg
fSk7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgZXJyb3JGdW5j
dGlvbiwgZnVuY3Rpb24oKSB7IHN1Y2Nlc3NGdW5jdGlvbigiRW1wdHkgdHJhbnNhY3Rpb24iKTsg
fSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
CitUaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gLSBib3Ro
IHdpdGggYW5kIHdpdGhvdXQgYSBzdGF0ZW1lbnQgLSByZWNlaXZlcyBpdHMgc3VjY2Vzc0NhbGxi
YWNrCis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0MGY2
M2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1h
dXRob3JpemVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBACitUaGlzIHRlc3QgdGVzdHMg
dGhlIGRhdGFiYXNlIGF1dGhvcml6ZXIuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0YXRlbWVudCBz
dWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX0lOREVYIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJ
VEVfQ1JFQVRFX1RFTVBfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVf
VEVNUF9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RFTVBfVklF
VyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBz
dWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElU
RV9DUkVBVEVfVlRBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVBRCBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgorU1FMSVRFX1NFTEVDVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RFTEVURSBzdGF0
ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0lOU0VSVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FM
SVRFX1VQREFURSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX1BSQUdNQSBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQor
U1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQUxURVJfVEFC
TEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9UUkFOU0FDVElPTiBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FM
SVRFX0FUVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQg
KDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RFVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX1JFSU5E
RVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9BTkFMWVpFIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVf
RFJPUF9JTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UQUJMRSBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UUklHR0VSIHN0YXRlbWVudCBz
dWNjZWVkZWQuCitTUUxJVEVfRFJPUF9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NR
TElURV9EUk9QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1ZJRVcg
c3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVk
ZWQuCitXcml0ZSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9y
aXplZCkKK1NRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9D
UkVBVEVfSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitT
UUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQ1JFQVRFX1RFTVBfVklF
VyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVf
VklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5v
dCBhdXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291
bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVB
VEVfSU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50
IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQu
CitTUUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVB
VEVfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKK1NRTElURV9SRUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfU0VMRUNUIHN0YXRl
bWVudCBzdWNjZWVkZWQuCitTUUxJVEVfREVMRVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5v
dCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfSU5TRVJUIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhv
cml6ZWQpCitTUUxJVEVfVVBEQVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUFJBR01BIHN0YXRlbWVudCBm
YWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitT
UUxJVEVfQUxURVJfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogVGVz
dFRhYmxlKQorU1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBw
cmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQVRUQUNIIHN0YXRl
bWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6
ZWQpCitTUUxJVEVfREVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FM
SVRFX0FOQUxZWkUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVf
RFJPUF9URU1QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKK1NRTElURV9EUk9QX1RFTVBfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVFJJR0dFUiBz
dGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRo
b3JpemVkKQorU1FMSVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVEFCTEUgc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKK1JlYWQgdHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmFmMTBhYTQ3
NTAwYTRmM2NmMzEyNGM3NjcxNzMxNzllODk0MzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwKQEAgLTAsMCArMSwxMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ0ZXN0LWF1dGhvcml6ZXIuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0
IHRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLjxicj4KKzxwcmUgaWQ9ImNvbnNvbGUiPgor
RkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGEwOGM4OWRmNTRhM2I2YzRhODYzYzAxZGY4OWY0NzUxY2NjOTE4OQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qcwpAQCAtMCww
ICsxLDE1MyBAQAorZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworfQorCitmdW5jdGlvbiBsb2dBbmRUZXJtaW5hdGVUZXN0KG1lc3NhZ2UsIGVycm9y
KQoreworICAgIGxvZyhtZXNzYWdlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOworICAgIHRlcm1p
bmF0ZVRlc3QoKTsKK30KKworZnVuY3Rpb24gY2xlYW51cChkYikKK3sKKyAgICBkYi50cmFuc2Fj
dGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJM
RSBJRiBFWElTVFMgVGVzdDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgSU5E
RVggSUYgRVhJU1RTIFRlc3RJbmRleDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRS
T1AgVklFVyBJRiBFWElTVFMgVGVzdFZpZXc7Iik7CisgICAgICAgICAgICB0eC5leGVjdXRlU3Fs
KCJEUk9QIFRSSUdHRVIgSUYgRVhJU1RTIFRlc3RUcmlnZ2VyOyIpOworICAgICAgICB9LCBmdW5j
dGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJDbGVhbnVwIGZhaWxlZCIsIGVycm9y
KTsgfSk7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhzdGF0ZW1lbnRU
eXBlKQoreworICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2VlZGVkLiIp
OworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKHN0YXRlbWVudFR5cGUsIGVy
cm9yKQoreworICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFpbGVkOiAiICsg
ZXJyb3IubWVzc2FnZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBleGVjdXRl
U3RhdGVtZW50KHR4LCBzdGF0ZW1lbnQsIG9wZXJhdGlvbikKK3sKKyAgICB0eC5leGVjdXRlU3Fs
KHN0YXRlbWVudCwgW10sCisgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3Rh
dGVtZW50U3VjY2Vzc0NhbGxiYWNrKG9wZXJhdGlvbik7IH0sCisgICAgICAgICAgICAgICAgICBm
dW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sob3BlcmF0
aW9uLCBlcnJvcik7IH0pOworfQorCitmdW5jdGlvbiBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KQor
eworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEFCTEUgVGVzdCAoRm9vIGludCk7
IiwgIlNRTElURV9DUkVBVEVfVEFCTEUiKTsKK30KKworZnVuY3Rpb24gY3JlYXRlU3RhdGVtZW50
c0NhbGxiYWNrKHR4KQoreworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgSU5ERVgg
VGVzdEluZGV4IE9OIFRlc3QgKEZvbyk7IiwgIlNRTElURV9DUkVBVEVfSU5ERVgiKTsKKworICAg
IC8vIEV2ZW4gdGhvdWdoIHRoZSBmb2xsb3dpbmcgcXVlcnkgc2hvdWxkIHRyaWdnZXIgYSBTUUxJ
VEVfQ1JFQVRFX1RFTVBfSU5ERVggb3BlcmF0aW9uCisgICAgLy8gKGFjY29yZGluZyB0byBodHRw
Oi8vd3d3LnNxbGl0ZS5vcmcvdGVtcGZpbGVzLmh0bWwpLCBpdCBkb2Vzbid0LCBhbmQgSSdtIG5v
dCBhd2FyZQorICAgIC8vIG9mIGFueSBvdGhlciB3YXkgdG8gdHJpZ2dlciB0aGlzIG9wZXJhdGlv
bi4gU28gd2UnbGwgc2tpcCBpdCBmb3Igbm93LgorICAgIC8vZXhlY3V0ZVN0YXRlbWVudCh0eCwg
IlNFTEVDVCAqIEZST00gVGVzdCBXSEVSRSBGb28gSU4gKDEsIDIsIDMpOyIsICJTUUxJVEVfQ1JF
QVRFX1RFTVBfSU5ERVgiKTsKKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVN
UCBUQUJMRSBUZXN0VGVtcFRhYmxlIChGb28gaW50KTsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RB
QkxFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFRSSUdHRVIgVGVz
dFRlbXBUcmlnZ2VyIElOU0VSVCBPTiBUZXN0IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRl
c3Q7IEVORDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIiKTsKKyAgICBleGVjdXRlU3Rh
dGVtZW50KHR4LCAiQ1JFQVRFIFRFTVAgVklFVyBUZXN0VGVtcFZpZXcgQVMgU0VMRUNUIENPVU5U
KCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1ZJRVciKTsKKyAgICBleGVjdXRl
U3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRSSUdHRVIgVGVzdFRyaWdnZXIgSU5TRVJUIE9OIFRlc3Qg
QkVHSU4gU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsgRU5EOyIsICJTUUxJVEVfQ1JFQVRFX1RS
SUdHRVIiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFZJRVcgVGVzdFZpZXcg
QVMgU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9WSUVXIik7Cisg
ICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSVJUVUFMIFRBQkxFIFRlc3RWaXJ0dWFs
VGFibGUgVVNJTkcgTWlzc2luZ01vZHVsZTsiLCAiU1FMSVRFX0NSRUFURV9WVEFCTEUiKTsKK30K
KworZnVuY3Rpb24gb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpCit7CisgICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9SRUFEIik7
CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7Iiwg
IlNRTElURV9TRUxFQ1QiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVMRVRFIEZST00g
VGVzdDsiLCAiU1FMSVRFX0RFTEVURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJJTlNF
UlQgSU5UTyBUZXN0IFZBTFVFUyAoMSk7IiwgIlNRTElURV9JTlNFUlQiKTsKKyAgICBleGVjdXRl
U3RhdGVtZW50KHR4LCAiVVBEQVRFIFRlc3QgU0VUIEZvbyA9IDIgV0hFUkUgRm9vID0gMTsiLCAi
U1FMSVRFX1VQREFURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJQUkFHTUEgY2FjaGVf
c2l6ZTsiLCAiU1FMSVRFX1BSQUdNQSIpOworCisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFM
VEVSIFRBQkxFIFRlc3QgUkVOQU1FIFRPIFRlc3RUYWJsZTsiLCAiU1FMSVRFX0FMVEVSX1RBQkxF
Iik7CisgICAgLy8gUmVuYW1lIHRoZSB0YWJsZSBiYWNrIHRvIGl0cyBvcmlnaW5hbCBuYW1lCisg
ICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFMVEVSIFRBQkxFIFRlc3RUYWJsZSBSRU5BTUUgVG8g
VGVzdDsiLCAiU1FMSVRFX0FMVEVSX1RBQkxFIik7CisKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4
LCAiQkVHSU4gVFJBTlNBQ1RJT047IiwgIlNRTElURV9UUkFOU0FDVElPTiIpOworICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHgsICJBVFRBQ0ggbWFpbiBBUyBUZXN0TWFpbjsiLCAiU1FMSVRFX0FUVEFD
SCIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJERVRBQ0ggVGVzdE1haW47IiwgIlNRTElU
RV9ERVRBQ0giKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUkVJTkRFWDsiLCAiU1FMSVRF
X1JFSU5ERVgiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQU5BTFlaRTsiLCAiU1FMSVRF
X0FOQUxZWkUiKTsKKworICAgIC8vIFNRTElURV9GVU5DVElPTjogYWxsb3dlZCB3cml0ZSBtb2Rl
CisgICAgLy8gVGhlcmUgaXMgbm8gU1FML0phdmFzY3JpcHQgQVBJIHRvIGFkZCB1c2VyLWRlZmlu
ZWQgZnVuY3Rpb25zIHRvIFNRTGl0ZSwKKyAgICAvLyBzbyB3ZSBjYW5ub3QgdGVzdCB0aGlzIG9w
ZXJhdGlvbgorfQorCitmdW5jdGlvbiBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KQoreworICAg
IGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIElOREVYIFRlc3RJbmRleDsiLCAiU1FMSVRFX0RS
T1BfSU5ERVgiKTsKKworICAgIC8vIFNRTElURV9EUk9QX1RFTVBfSU5ERVg6IGFsbG93ZWQgaW4g
d3JpdGUgbW9kZQorICAgIC8vIE5vdCBzdXJlIGhvdyB0byB0ZXN0IHRoaXM6IHRlbXAgaW5kZXhl
cyBhcmUgYXV0b21hdGljYWxseSBkcm9wcGVkIHdoZW4KKyAgICAvLyB0aGUgZGF0YWJhc2UgaXMg
Y2xvc2VkLCBidXQgSFRNTDUgZG9lc24ndCBzcGVjaWZ5IGEgY2xvc2VEYXRhYmFzZSgpIGNhbGwu
CisKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBUZXN0VGVtcFRhYmxlOyIs
ICJTUUxJVEVfRFJPUF9URU1QX1RBQkxFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRS
T1AgVFJJR0dFUiBUZXN0VGVtcFRyaWdnZXI7IiwgIlNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiIp
OworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFRlbXBWaWV3OyIsICJT
UUxJVEVfRFJPUF9URU1QX1ZJRVciKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBU
UklHR0VSIFRlc3RUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9UUklHR0VSIik7CisgICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIkRST1AgVklFVyBUZXN0VmlldzsiLCAiU1FMSVRFX0RST1BfVklFVyIp
OworCisgICAgLy8gU1FMSVRFX0RST1BfVlRBQkxFOiBhbGxvd2VkIGluIHdyaXRlIG1vZGUKKyAg
ICAvLyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB3ZSBjYW5ub3QgY3JlYXRlIGEgdmlydHVh
bCB0YWJsZSBiZWNhdXNlIHdlIGRvIG5vdAorICAgIC8vIGhhdmUgU1FML0phdmFzY3JpcHQgQVBJ
cyB0byByZWdpc3RlciBhIG1vZHVsZSB0aGF0IGltcGxlbWVudHMgYSB2aXJ0dWFsIHRhYmxlLgor
ICAgIC8vIFRoZXJlZm9yZSwgdHJ5aW5nIHRvIGRyb3AgYSB2aXJ0dWFsIHRhYmxlIHdpbGwgYWx3
YXlzIGZhaWwgKG5vIHN1Y2ggdGFibGUpCisgICAgLy8gYmVmb3JlIGV2ZW4gZ2V0dGluZyB0byB0
aGUgYXV0aG9yaXplci4KKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFRBQkxFIFRl
c3Q7IiwgIlNRTElURV9EUk9QX1RBQkxFIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZWFkV3JpdGVN
b2RlKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAg
ICBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KTsKKyAgICAgICAgICAgIGNyZWF0ZVN0YXRlbWVudHND
YWxsYmFjayh0eCk7CisgICAgICAgICAgICBvdGhlclN0YXRlbWVudHNDYWxsYmFjayh0eCk7Cisg
ICAgICAgICAgICBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KTsKKyAgICAgICAgfSwKKyAgICAg
ICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUgdHJhbnNhY3Rp
b24gZmFpbGVkIiwgZXJyb3IpOyB9LAorICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJXcml0ZSB0
cmFuc2FjdGlvbiBzdWNjZWVkZWQuIik7IH0pOworfQorCitmdW5jdGlvbiB0ZXN0UmVhZE9ubHlN
b2RlKGRiKQoreworICAgIC8vIFRlc3QgdGhlICdDUkVBVEUgVEFCTEUnIG9wZXJhdGlvbjsgaXQg
c2hvdWxkIGJlIGRpc2FsbG93ZWQKKyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlVGFibGVD
YWxsYmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgi
UmVhZCAnQ1JFQVRFIFRBQkxFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOworCisg
ICAgLy8gSW4gb3JkZXIgdG8gdGVzdCBhbGwgb3RoZXIgJ0NSRUFURScgb3BlcmF0aW9ucywgd2Ug
bXVzdCBjcmVhdGUgdGhlIHRhYmxlIGZpcnN0CisgICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlVGFi
bGVDYWxsYmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVz
dCgiV3JpdGUgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsK
KyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAg
ICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdDUkVBVEUnIHRy
YW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7CisKKyAgICAvLyBJbiBvcmRlciB0byB0ZXN0
IHRoZSAnRFJPUCcgYW5kICdvdGhlcicgb3BlcmF0aW9ucywgd2UgbmVlZCB0byBmaXJzdCBjcmVh
dGUgdGhlIHJlc3BlY3RpdmUgZW50aXRpZXMKKyAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVTdGF0
ZW1lbnRzQ2FsbGJhY2ssCisgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0
ZVRlc3QoIldyaXRlICdDUkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Cisg
ICAgZGIucmVhZFRyYW5zYWN0aW9uKG90aGVyU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAgICBm
dW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdvdGhlcicgdHJhbnNh
Y3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKKworICAgIC8vIEhhY2s6IGluc2VydCBhbiBlbXB0
eSB3cml0ZSB0cmFuc2FjdGlvbiB0byBndWFyYXRlZSB0aGF0IHRoZXNlIHRyYW5zYWN0aW9ucyBh
cmUgZXhlY3V0ZWQgc2VxdWVudGlhbGx5CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsgfSk7CisgICAgZGIucmVhZFRyYW5zYWN0aW9uKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2ssCisg
ICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJlYWQgJ0RST1An
IHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSwKKyAgICAgICAgZnVuY3Rpb24oKSB7IGxv
ZygiUmVhZCB0cmFuc2FjdGlvbnMgc3VjY2VlZGVkLiIpOyB0ZXJtaW5hdGVUZXN0KCk7IH0pOwor
fQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRo
U3VmZml4KCJBdXRob3JpemVyVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGRhdGFiYXNlIGF1dGhv
cml6ZXIuIiwgMzI3NjgpOworICAgIGNsZWFudXAoZGIpOworICAgIHRlc3RSZWFkV3JpdGVNb2Rl
KGRiKTsKKyAgICB0ZXN0UmVhZE9ubHlNb2RlKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxs
YmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4OGM3NDI2MDVl
MzRkZGI5ODhlODkzM2MzNGUwNDNhMzNhYzI0ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBUcmFuc2FjdGlv
bkNhbGxiYWNrRXJyb3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFzIHBh
c3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
Y2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YmNjNzMyYmI4ZjJiNTNlY2I0NDgxYTc5OTc1ZTJjY2Y3MWNjZGMzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0
aW9uLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKK30KKwordmFyIGRiID0gb3BlbkRhdGFiYXNlKCIxNTk3NlRlc3QiLCAiMS4wIiwgIlRl
c3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTc2IiwgMSk7
CitkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0sIDApOworICAgdGhyb3cgIlRyYW5zYWN0aW9u
Q2FsbGJhY2tFcnJvciI7Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitJZiBXZWJL
aXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNzZWQKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yN2Y0NzRmN2JjNmVhNzhhOTIxN2I5OGQwOGI5YjI1YTcxMmVmZTRlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQUxFUlQ6IHVu
ZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxs
YmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJh
bnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjgyNWQ3MDAzNDA0Mjg0
NmVmZDRkMWQ5NTgzYjcyZTJlNTk1MmJiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwK
QEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0
ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUg
cmlnaHQgd29ybGQuCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdHJh
bnNhY3Rpb25DYWxsYmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlm
ICgoKyt0cmFuc2FjdGlvbkNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjazEodHgpCit7CisgICAgYWxlcnQo
IkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgpOworfQorCitm
dW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5i
b2R5LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBk
b2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5i
b2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sg
Y3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVT
Y3JpcHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFu
c2FjdGlvbkNhbGxiYWNrMSh0eClcbiIgKworICAgICAgICAie1xuIiArCisgICAgICAgICIgICAg
YWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIgICAgd2luZG93LmxvY2F0
aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIgKworICAgICAgICAi
dmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxsYmFja0lzb2xhdGVkV29ybGQx
JywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKHRyYW5zYWN0
aW9uQ2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0
aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5z
YWN0aW9uKHRyYW5zYWN0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
dHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYjMz
YmQ5YWI3ZDA3N2M1ZGQ2M2MwMDc5OGUzZDY3NTAwOWYzMTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmpl
Y3QgT2JqZWN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBbb2JqZWN0IE9iamVjdF0KK1Ro
aXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZv
a2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rp
b24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCitUZXN0aW5nIHRyYW5zYWN0aW9u
IGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUND
RVNTCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJh
Y2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhy
b3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NF
U1MKK1Rlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJy
b3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUworQWxsIFRlc3RzIGFyZSBjb21w
bGV0ZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhMTUzOTY2NzhkOWViZjMxNTJkOGU5Yzg0ZDNj
MTRjYjRlOWYyNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0IEBACitBTEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQu
Ym9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1Ro
aXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxs
ZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjE4OTRkMmVhMjc1OGFlOTFmOTczOWE3YjU1
NWQ1YzZlMzJkY2IxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCww
ICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVz
dHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSBy
aWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0cmFu
c2FjdGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9IDA7CitmdW5jdGlvbiBkb25lKCkKK3sKKyAg
ICBpZiAoKCsrdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eCkK
K3sKKyAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBk
b25lKCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazIodHgpCit7Cisg
ICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQu
Ym9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3
b3JsZC4iOworZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlz
aWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJB
bGxEYXRhYmFzZXMoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAg
ICAgICAiZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eClcbiIgKworICAgICAg
ICAie1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisg
ICAgICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAg
ICAgICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rp
b25FcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAg
ICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIgKworICAgICAgICAiICAgIHR4
LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9LCBm
dW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pO1xuIiArCisgICAgICAgICJ9LCB0
cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJh
c2UoJ1RyYW5zYWN0aW9uRXJyb3JDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAx
KTsKKyAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhlY3V0
ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1bmN0aW9u
KHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7CisgICAgfSwgdHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrMik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjkwYjJlZDAzNGZkOTVhN2JhZTUyYTA4NmU5YTJlZTVlYmNkZWY3NzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlv
bi1lcnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsMTA1IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKK30KKwor
Ly8gc2lnbmFsIHRvIGxheW91dFRlc3RDb250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHplcm8u
Cit2YXIgdGVzdENvdW50ID0gNDsKKy8vIHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0aGUg
bnVtYmVyIG9mIHJvd3MgYWxyZWFkeSBpbiBvdXIgdGVzdCBkYXRhYmFzZS4KKy8vIG91ciBnb2Fs
IGlzIHRvIGtlZXAgdGhlIG51bWJlciB1bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCit2YXIg
aW5pdGlhbFJvd0NvdW50ID0gMDsKK3ZhciBkYXRhYmFzZTsKK3ZhciBzdWNjZXNzQ2FsbGJhY2tD
YWxsZWQ7CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICgtLXRlc3RDb3VudCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIpOwor
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2so
KQoreworICAgIHN1Y2Nlc3NDYWxsYmFja0NhbGxlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIHZl
cmlmeVN1Y2Nlc3MobXNnKQoreworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KQorICAgIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50
IEZST00gRXJyb3JDYWxsYmFja1Rlc3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQorICAgICAgICB7
CisgICAgICAgICAgICBsb2cobXNnICsgIiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50ID09
IGluaXRpYWxSb3dDb3VudCAmJiAhc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1MiIDog
IkZBSUxVUkUiKSk7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0pOworICAg
IH0pOworfQorCitmdW5jdGlvbiBmYWlsTWlkV2F5KGVycm9yQ2FsbGJhY2spCit7CisgICAgc3Vj
Y2Vzc0NhbGxiYWNrQ2FsbGVkID0gZmFsc2U7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpCisgICAgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBFcnJv
ckNhbGxiYWNrVGVzdChzb21lVmFsdWUpIFZBTFVFUyg/KTsiLCBbIDEgXSk7CisgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIk1VVFRFUiBTT01FVEhJTkcgSUxMRUdJQkxFIik7CisgICAgfSwgZXJyb3JD
YWxsYmFjaywgc3VjY2Vzc0NhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50Q2FsbGJh
Y2tUaHJvd3NFeGNlcHRpb24oZXJyb3JDYWxsYmFjaykKK3sKKyAgICBzdWNjZXNzQ2FsbGJhY2tD
YWxsZWQgPSBmYWxzZTsKKyAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKKyAg
ICB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0
KHNvbWVWYWx1ZSkgVkFMVUVTKD8pOyIsIFsgMSBdLCBmdW5jdGlvbigpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHRocm93IHt9OworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24g
cnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICBkYXRhYmFzZSA9IG9wZW5EYXRh
YmFzZSgiRXJyb3JDYWxsYmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBjYWxs
YmFjayIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQorICAgIHsK
KyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJyb3JD
YWxsYmFja1Rlc3QgKHNvbWVWYWx1ZSkiLCBbXSk7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNF
TEVDVCBjb3VudCgqKSBBUyBjb3VudCBGUk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1bmN0
aW9uKHR4LCBycykKKyAgICAgICAgeworICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0gcnMu
cm93cy5pdGVtKDApLmNvdW50OworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGZhaWxNaWRX
YXkoZnVuY3Rpb24oKSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0
aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJu
aW5nIHRydWUiKTsKKyAgICBmYWlsTWlkV2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0p
OworICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5
IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UiKTsKKyAgICBzdGF0ZW1lbnRDYWxsYmFj
a1Rocm93c0V4Y2VwdGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOworICAgIHZlcmlm
eVN1Y2Nlc3MoIlRlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBh
bmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKKyAgICBzdGF0ZW1lbnRDYWxsYmFj
a1Rocm93c0V4Y2VwdGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKKyAgICB2ZXJp
ZnlTdWNjZXNzKCJUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24g
YW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyBmYWxzZSIpOworfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRo
YXQgPGNvZGU+U1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2VkIGNv
cnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMg
YWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJl
PgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MjdmNGFjZTcz
ODMzYjVlNmVjNDY4NmFmZTcwNTk2NDNiZjFkOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FM
RVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRl
ZCBpbiB0aGlzIHdvcmxkLgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1
Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNh
Y3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNh
MmRmOTRiMzRhZDU4NmI0MDc2MzQyMGMwYzcwMzY5M2QyMTc4MmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1Y2Nl
c3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFja3NJbnZv
a2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKyt0cmFuc2FjdGlvblN1Y2Nl
c3NDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
KQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0
aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eCkKK3sKKyAgICBhbGVydCgiRkFJTDog
VmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBkb25lKCk7Cit9CisKK2Z1bmN0aW9u
IHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5i
b2R5LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBk
b2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5i
b2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sg
Y3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVT
Y3JpcHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFu
c2FjdGlvblN1Y2Nlc3NDYWxsYmFjazEodHgpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAg
ICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRv
dy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAg
ICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNr
SXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAgICAgICJkYjEudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgbnVsbCwgdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sx
KTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0Nh
bGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOworICAgIGRiMi50cmFuc2FjdGlv
bihmdW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazIpOwor
fQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143071</attachid>
            <date>2012-05-21 11:52:56 -0700</date>
            <delta_ts>2012-05-21 13:44:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-86138-20120521115255.patch</filename>
            <type>text/plain</type>
            <size>308455</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NzcyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjVmOTMzYTZmYWM0MTUyNWUwMjA2
NDRhOTJmMWQ3MTU4NWUwM2YzOS4uYjVhMTQxZGRkOWQ0NGNiYjI0YTE5N2ZkYTkyNmJhYzQ0ODZh
ODA1NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2OSBAQAorMjAxMi0wNS0yMSAgSm9zaHVhIEJlbGwgIDxq
c2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgV2ViU1FMIHRlc3RzIGluIExheW91
dFRlc3RzL3N0b3JhZ2UgdG8gd2Vic3FsIGRpcmVjdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBS
eW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJjZXMv
ZGF0YWJhc2Utd29ya2VyLWNvbnRyb2xsZXIuanM6CisgICAgICAgIChydW5UZXN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9y
LWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1j
YWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1l
eHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1t
YWMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2UvdHJhbnNhY3Rpb24t
Y2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2st
ZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0
b3JhZ2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1j
b2Rlcy1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay90ZXN0X2V4cGVjdGF0aW9ucy50
eHQ6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJl
dXNlLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdl
LXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMu
CisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKHJ1blRlc3QuY2F0Y2gpOgorICAgICAg
ICAocnVuVGVzdCk6CisgICAgICAgIChydW5UZXN0Mi5jYXRjaCk6CisgICAgICAgIChydW5UZXN0
Mik6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24t
cHJlZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBl
Y3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jh
c2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sLgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBl
Y3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10
ZXN0Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1z
dHJlc3MtdGVzdC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2st
YWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3Jh
Z2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWw6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50Lmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0Lgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuanMuCisgICAgICAgICh0aHJvd09uVG9TdHJp
bmdPYmplY3QudG9TdHJpbmcpOgorICAgICAgICAodmFyKToKKyAgICAgICAgKHRyeUV4ZWN1dGVT
cWwpOgorICAgICAgICAocnVuVHJhbnNhY3Rpb25UZXN0KToKKyAgICAgICAgKHJ1blRyYW5zYWN0
aW9uVGVzdHMpOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwv
ZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1z
dGF0ZW1lbnQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVz
cWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sLgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIt
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdp
dGgteGhyLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14
aHIuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmpzLgorICAgICAgICAoc3RvcEludGVydmFscyk6CisgICAgICAgIChzdG9wVGVzdCk6Cisg
ICAgICAgICh1cGRhdGVEYXRhYmFzZSk6CisgICAgICAgIChjaGVja0ZvclN1Y2Nlc3MpOgorICAg
ICAgICAoZXJyb3JIYW5kbGVyKToKKyAgICAgICAgKHNlbmRYaHIpOgorICAgICAgICAoaW52b2tl
QmFjayk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJ1blRlc3RzSW5uZXIpOgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rp
b24tZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBs
ZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWw6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJi
YWdlLWNvbGxlY3Rpb24uaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1k
YXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzLgorICAgICAg
ICAoR0MpOgorICAgICAgICAoY2hlY2tDb21wbGV0aW9uKToKKyAgICAgICAgKHJ1blRlc3QpOgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1leHBlY3RlZC50
eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9u
cy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5k
bGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFu
c2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0
bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRp
ZmZlcmVudC1oYW5kbGVzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0
aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMuCisgICAgICAgIChjaGVj
a0NvbXBsZXRpb24pOgorICAgICAgICAob3BlblRlc3REYXRhYmFzZSk6CisgICAgICAgIChzdGF0
ZW1lbnRTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAoc3RhdGVtZW50RXJyb3JDYWxsYmFjayk6
CisgICAgICAgIChydW5UcmFuc2FjdGlvbik6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMuCisgICAgICAgIChj
aGVja0NvbXBsZXRpb24pOgorICAgICAgICAocnVuVGVzdC5kYik6CisgICAgICAgIChydW5UZXN0
KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxiYWNrcy5odG1sLgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0
ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNy
ZWF0aW9uLWNhbGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9v
cGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlv
bi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJz
cWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVj
dGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1l
bXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVy
LXF1b3RhLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQt
ZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24uaHRtbDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHkt
dmVyc2lvbi5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hp
bGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dy
ZXNzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNl
LXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5z
YWN0aW9uLWluLXByb2dyZXNzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9v
cGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzLgorICAgICAgICAo
b3BlblRlc3REYXRhYmFzZSk6CisgICAgICAgIChydW5UZXN0LmRiMS50cmFuc2FjdGlvbik6Cisg
ICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dz
aW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5v
cmVhZC1ub3dyaXRlLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tp
bmctZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10
cmFja2luZy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJh
Y2tpbmcuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJhY2tp
bmcuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2Fj
dGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXItZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRl
LXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXIuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2Fj
dGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcy4KKyAg
ICAgICAgKHRlcm1pbmF0ZVRlc3QpOgorICAgICAgICAob3BlblRlc3REYXRhYmFzZSk6CisgICAg
ICAgIChydW5UcmFuc2FjdGlvbik6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3Rl
ZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25z
LXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1
cnJlbnRseS5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFz
ZS1jb21tb24uanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9k
YXRhYmFzZS1jb21tb24uanMuCisgICAgICAgIChvcGVuRGF0YWJhc2VXaXRoU3VmZml4KToKKyAg
ICAgICAgKGxvZyk6CisgICAgICAgIChzZXRMb2NhdGlvbkhhc2gpOgorICAgICAgICAoc2V0dXBB
bmRSdW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2Ut
bG9jay1hZnRlci1yZWxvYWQtMi5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sLgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3NxbC1kYXRhLXR5cGVzLmpzLgorICAgICAgICAod3JpdGVNZXNzYWdlVG9Mb2cpOgorICAg
ICAgICAobm90aWZ5RG9uZSk6CisgICAgICAgIChzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUpOgor
ICAgICAgICAodGVzdERCVmFsdWVzKToKKyAgICAgICAgKGZldGNoREJWYWx1ZXNTdG10KToKKyAg
ICAgICAgKGluc2VydFRlc3RWYWx1ZXNTdG10KToKKyAgICAgICAgKGNyZWF0ZVRlc3REQlN0bXQp
OgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9y
LWNvZGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3Fs
LWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zcWwt
ZXJyb3ItY29kZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVy
cm9yLWNvZGVzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVz
LmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuanMu
CisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ayk6CisgICAgICAgICh0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICh0ZXN0
VHJhbnNhY3Rpb24pOgorICAgICAgICAodGVzdFRyYW5zYWN0aW9uVGhyb3dzRXhjZXB0aW9uKToK
KyAgICAgICAgKHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRGYWlsdXJl
KToKKyAgICAgICAgKHRlc3RJbnZhbGlkU3RhdGVtZW50KToKKyAgICAgICAgKHRlc3RJbmNvcnJl
Y3ROdW1iZXJPZkJpbmRQYXJhbWV0ZXJzKToKKyAgICAgICAgKHRlc3RCaW5kUGFyYW1ldGVyT2ZX
cm9uZ1R5cGUuYmFkU3RyaW5nLnRvU3RyaW5nKToKKyAgICAgICAgKHRlc3RCaW5kUGFyYW1ldGVy
T2ZXcm9uZ1R5cGUpOgorICAgICAgICAodGVzdFF1b3RhRXhjZWVkZWQpOgorICAgICAgICAodGVz
dFZlcnNpb25NaXNtYXRjaC5kYi50cmFuc2FjdGlvbik6CisgICAgICAgICh0ZXN0VmVyc2lvbk1p
c21hdGNoKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N0
YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVt
ZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3Rh
dGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxs
YmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nl
c3MtY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nl
c3MtY2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vz
cy1jYWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXpl
ci1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0
aG9yaXplci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRo
b3JpemVyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9y
aXplci5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qczog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzLgorICAg
ICAgICAodGVybWluYXRlVGVzdCk6CisgICAgICAgIChsb2dBbmRUZXJtaW5hdGVUZXN0KToKKyAg
ICAgICAgKGNsZWFudXApOgorICAgICAgICAoc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKToKKyAg
ICAgICAgKHN0YXRlbWVudEVycm9yQ2FsbGJhY2spOgorICAgICAgICAoZXhlY3V0ZVN0YXRlbWVu
dCk6CisgICAgICAgIChjcmVhdGVUYWJsZUNhbGxiYWNrKToKKyAgICAgICAgKGNyZWF0ZVN0YXRl
bWVudHNDYWxsYmFjayk6CisgICAgICAgIChvdGhlclN0YXRlbWVudHNDYWxsYmFjayk6CisgICAg
ICAgIChkcm9wU3RhdGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKHRlc3RSZWFkV3JpdGVNb2Rl
KToKKyAgICAgICAgKHRlc3RSZWFkT25seU1vZGUuZGIpOgorICAgICAgICAodGVzdFJlYWRPbmx5
TW9kZSk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jh
c2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbC4KKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJh
bnNhY3Rpb24tZXJyb3ItY2FsbGJhY2suaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLmh0bWwuCisKKzIwMTItMDUtMTYgIEpvc2h1YSBCZWxsICA8anNiZWxs
QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIFdlYlNRTCB0ZXN0cyBpbiBMYXlvdXRUZXN0
cy9zdG9yYWdlIHRvIHdlYnNxbCBkaXJlY3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg2MTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJjZXMvZGF0
YWJhc2Utd29ya2VyLWNvbnRyb2xsZXIuanM6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLW1hYy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQu
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxs
YmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMv
c3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1j
YWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFuc2Fj
dGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2Fs
bGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhw
ZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4cGVj
dGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3Jh
Z2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1jb2Rl
cy1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2VmbC90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0OiBS
ZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1leHBlY3RlZC50
eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNl
LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZl
cnNpb24taGFuZGxlLXJldXNlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwuCisgICAgICAgICog
c3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMuCisg
ICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKHJ1blRlc3QuY2F0Y2gpOgorICAgICAgICAo
cnVuVGVzdCk6CisgICAgICAgIChydW5UZXN0Mi5jYXRjaCk6CisgICAgICAgIChydW5UZXN0Mik6
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJl
ZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gt
b24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3Jh
Z2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbC4KKyAg
ICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi5odG1sOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sLgorICAgICAgICAqIHN0b3Jh
Z2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJl
c3MtdGVzdC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0
ZXItcmVsb2FkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uv
ZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3Jh
Z2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50Lmh0bWwuCisgICAgICAgICog
c3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5odG1sLgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuanMuCisgICAgICAgICh0aHJvd09uVG9TdHJpbmdP
YmplY3QudG9TdHJpbmcpOgorICAgICAgICAodmFyKToKKyAgICAgICAgKHRyeUV4ZWN1dGVTcWwp
OgorICAgICAgICAocnVuVHJhbnNhY3Rpb25UZXN0KToKKyAgICAgICAgKHJ1blRyYW5zYWN0aW9u
VGVzdHMpOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvZXhl
Y3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0
ZW1lbnQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwt
YWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sLgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVkLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhw
ZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhy
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14aHIu
anM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhy
LmpzLgorICAgICAgICAoc3RvcEludGVydmFscyk6CisgICAgICAgIChzdG9wVGVzdCk6CisgICAg
ICAgICh1cGRhdGVEYXRhYmFzZSk6CisgICAgICAgIChjaGVja0ZvclN1Y2Nlc3MpOgorICAgICAg
ICAoZXJyb3JIYW5kbGVyKToKKyAgICAgICAgKHNlbmRYaHIpOgorICAgICAgICAoaW52b2tlQmFj
ayk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJ1blRlc3RzSW5uZXIpOgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24t
ZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1k
YXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWw6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdl
LWNvbGxlY3Rpb24uaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRh
YmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzLgorICAgICAgICAo
R0MpOgorICAgICAgICAoY2hlY2tDb21wbGV0aW9uKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1leHBlY3RlZC50eHQ6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1l
eHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVz
LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2Fj
dGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwu
CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZl
cmVudC1oYW5kbGVzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBs
ZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMuCisgICAgICAgIChjaGVja0Nv
bXBsZXRpb24pOgorICAgICAgICAob3BlblRlc3REYXRhYmFzZSk6CisgICAgICAgIChzdGF0ZW1l
bnRTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAoc3RhdGVtZW50RXJyb3JDYWxsYmFjayk6Cisg
ICAgICAgIChydW5UcmFuc2FjdGlvbik6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuaHRtbDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwuCisgICAgICAgICog
c3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzOiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMuCisgICAgICAgIChjaGVj
a0NvbXBsZXRpb24pOgorICAgICAgICAocnVuVGVzdC5kYik6CisgICAgICAgIChydW5UZXN0KToK
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6IFJl
bmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxiYWNrcy5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQu
dHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0
aW9uLWNhbGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1j
YWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1s
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9u
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwv
b3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVk
LnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0
eS12ZXJzaW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3Jh
Z2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEuaHRt
bDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1
b3RhLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1w
dHktdmVyc2lvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0LgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24uaHRtbDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVy
c2lvbi5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUt
dHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNz
LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdo
aWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRt
bC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0
aW9uLWluLXByb2dyZXNzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVu
LWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzLgorICAgICAgICAob3Bl
blRlc3REYXRhYmFzZSk6CisgICAgICAgIChydW5UZXN0LmRiMS50cmFuc2FjdGlvbik6CisgICAg
ICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5n
LW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1s
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVh
ZC1ub3dyaXRlLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmct
ZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10cmFj
a2luZy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tp
bmcuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmcu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlv
bnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIt
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRy
YW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVz
dHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlv
bnMtZG9udC1ydW4tdG9nZXRoZXIuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdl
L3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcy4KKyAgICAg
ICAgKHRlcm1pbmF0ZVRlc3QpOgorICAgICAgICAob3BlblRlc3REYXRhYmFzZSk6CisgICAgICAg
IChydW5UcmFuc2FjdGlvbik6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdl
L3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3RlZC50
eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25zLXJ1
bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJl
bnRseS5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1j
b21tb24uanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRh
YmFzZS1jb21tb24uanMuCisgICAgICAgIChvcGVuRGF0YWJhc2VXaXRoU3VmZml4KToKKyAgICAg
ICAgKGxvZyk6CisgICAgICAgIChzZXRMb2NhdGlvbkhhc2gpOgorICAgICAgICAoc2V0dXBBbmRS
dW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9j
ay1hZnRlci1yZWxvYWQtMi5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9y
ZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sLgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlv
dXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93
ZWJzcWwvc3FsLWRhdGEtdHlwZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdl
L3NxbC1kYXRhLXR5cGVzLmpzLgorICAgICAgICAod3JpdGVNZXNzYWdlVG9Mb2cpOgorICAgICAg
ICAobm90aWZ5RG9uZSk6CisgICAgICAgIChzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUpOgorICAg
ICAgICAodGVzdERCVmFsdWVzKToKKyAgICAgICAgKGZldGNoREJWYWx1ZXNTdG10KToKKyAgICAg
ICAgKGluc2VydFRlc3RWYWx1ZXNTdG10KToKKyAgICAgICAgKGNyZWF0ZVRlc3REQlN0bXQpOgor
ICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNv
ZGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVy
cm9yLWNvZGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zcWwtZXJy
b3ItY29kZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9y
LWNvZGVzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLmpz
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuanMuCisg
ICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayk6
CisgICAgICAgICh0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICh0ZXN0VHJh
bnNhY3Rpb24pOgorICAgICAgICAodGVzdFRyYW5zYWN0aW9uVGhyb3dzRXhjZXB0aW9uKToKKyAg
ICAgICAgKHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRGYWlsdXJlKToK
KyAgICAgICAgKHRlc3RJbnZhbGlkU3RhdGVtZW50KToKKyAgICAgICAgKHRlc3RJbmNvcnJlY3RO
dW1iZXJPZkJpbmRQYXJhbWV0ZXJzKToKKyAgICAgICAgKHRlc3RCaW5kUGFyYW1ldGVyT2ZXcm9u
Z1R5cGUuYmFkU3RyaW5nLnRvU3RyaW5nKToKKyAgICAgICAgKHRlc3RCaW5kUGFyYW1ldGVyT2ZX
cm9uZ1R5cGUpOgorICAgICAgICAodGVzdFF1b3RhRXhjZWVkZWQpOgorICAgICAgICAodGVzdFZl
cnNpb25NaXNtYXRjaC5kYi50cmFuc2FjdGlvbik6CisgICAgICAgICh0ZXN0VmVyc2lvbk1pc21h
dGNoKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N0YXRl
bWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50
LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRt
bDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVt
ZW50LWVycm9yLWNhbGxiYWNrLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdl
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFj
ay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nlc3Mt
Y2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3Mt
Y2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1j
YWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci1l
eHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9y
aXplci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3Jp
emVyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXpl
ci5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qczogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzLgorICAgICAg
ICAodGVybWluYXRlVGVzdCk6CisgICAgICAgIChsb2dBbmRUZXJtaW5hdGVUZXN0KToKKyAgICAg
ICAgKGNsZWFudXApOgorICAgICAgICAoc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKToKKyAgICAg
ICAgKHN0YXRlbWVudEVycm9yQ2FsbGJhY2spOgorICAgICAgICAoZXhlY3V0ZVN0YXRlbWVudCk6
CisgICAgICAgIChjcmVhdGVUYWJsZUNhbGxiYWNrKToKKyAgICAgICAgKGNyZWF0ZVN0YXRlbWVu
dHNDYWxsYmFjayk6CisgICAgICAgIChvdGhlclN0YXRlbWVudHNDYWxsYmFjayk6CisgICAgICAg
IChkcm9wU3RhdGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKHRlc3RSZWFkV3JpdGVNb2RlKToK
KyAgICAgICAgKHRlc3RSZWFkT25seU1vZGUuZGIpOgorICAgICAgICAodGVzdFJlYWRPbmx5TW9k
ZSk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90cmFuc2Fj
dGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3Rl
ZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNx
bC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rp
b24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2suaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwv
dHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwuCisKIDIwMTItMDUtMjEgIFphbiBEb2JlcnNlayAgPHphbmRvYmVy
c2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcsIGFkZCBl
eHBlY3RhdGlvbnMgZm9yIGFuIFNWRyB0ZXN0IGZvciBoaXQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS13b3JrZXItY29udHJv
bGxlci5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNlcy9kYXRh
YmFzZS13b3JrZXItY29udHJvbGxlci5qcwppbmRleCBhOGE5NzUzNWVjMjRmOTQyYTgxNGNjMTJj
ZjFjZDk4YjJlYTEwYjdjLi5hNzY1ZThjMTM1OGVjNGE0ZWVhMGZhNjhhZGRmNjhkMmYyOTRmYmU0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJjZXMv
ZGF0YWJhc2Utd29ya2VyLWNvbnRyb2xsZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3Jr
ZXJzL3N0b3JhZ2UvcmVzb3VyY2VzL2RhdGFiYXNlLXdvcmtlci1jb250cm9sbGVyLmpzCkBAIC0z
Myw3ICszMyw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QodGVzdEZpbGUpCiAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgPSAiIjsKLSAgICBkYXRhYmFzZVdvcmtlci5w
b3N0TWVzc2FnZSgiaW1wb3J0U2NyaXB0czouLi8uLi8uLi9zdG9yYWdlLyIgKyB0ZXN0RmlsZSk7
CisgICAgZGF0YWJhc2VXb3JrZXIucG9zdE1lc3NhZ2UoImltcG9ydFNjcmlwdHM6Li4vLi4vLi4v
c3RvcmFnZS93ZWJzcWwvIiArIHRlc3RGaWxlKTsKICAgICBkYXRhYmFzZVdvcmtlci5wb3N0TWVz
c2FnZSgicnVuVGVzdCIpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1tYWMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NDkzOWFjZGRhYWVmNDdjNjQzMmJkNTZkYTMzNDQ4ZWVjY2FmN2RlZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS1tYWMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3OiBV
bmNhdWdodCBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCi1UaGlzIHRlc3Qg
Y29uZmlybXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNrIGlm
IGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4Y2Vw
dGlvbiwgcmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCi1QQVNTIC0g
dGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0
cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNh
Y3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9u
IGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJv
ciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2Fs
bGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJh
Y2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sg
d2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFz
aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFn
ZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0ZDBh
N2UyYWE4MjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwy
ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVW5jYXVnaHQgVHJhbnNhY3Rpb25D
YWxsYmFja0Vycm9yCi1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNz
ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdl
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NkOWRjZmZmMDU5OGI0
Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFn
ZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmpl
Y3Q+Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgotVGhpcyB0
ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQg
Y29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBp
cyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFp
bGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MK
LVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayBy
ZXR1cm4gZmFsc2UgOiBTVUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2lu
ZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUwot
VGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBj
YWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwgVGVzdHMgYXJlIGNvbXBsZXRl
LgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFn
ZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3It
Y2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5MzlhY2RkYWFlZjQ3YzY0MzJiZDU2
ZGEzMzQ0OGVlY2NhZjdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjc6IFVu
Y2F1Z2h0IEV4Y2VwdGlvbiBpbiBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sKK1RoaXMgdGVzdCBj
b25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkgcm9sbGVkIGJhY2sgaWYg
YW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0aHJvd3MgYW4gZXhjZXB0
aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2YWx1ZS4KK1BBU1MgLSB0
aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2Fj
dGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
ZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9y
IGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3
YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMg
aW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52
b2tlZC4KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlv
bi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMv
c3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0ZDBhN2UyYWE4
MjdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFj
L3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFVuY2F1
Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRo
aXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zY2Q5
ZGNmZmYwNTk4YjRjODk5NTJmM2JhMzU4ZmM3OGQzZmI4MGNmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0
aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmplY3Q+CitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJh
bnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNz
IG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24g
ZmFpbHVyZS4KK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBj
YWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFp
bGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCitU
ZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNh
bGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJh
Y2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2Ug
OiBTVUNDRVNTCitBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJh
Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3Jh
Z2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNDkzOWFjZGRhYWVmNDdjNjQzMmJkNTZkYTMzNDQ4ZWVjY2FmN2RlZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDY3OiBVbmNhdWdodCBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxi
YWNrCi1UaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5
IHJvbGxlZCBiYWNrIGlmIGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sg
dGhyb3dzIGFuIGV4Y2VwdGlvbiwgcmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkg
dmFsdWUuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBB
U1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0g
dGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0
cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNh
Y3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9u
IHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1
Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nl
c3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3Mg
Y2FsbGJhY2sgd2FzIGludm9rZWQuCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNr
LWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWFiMGU3MTAyY2NmMWY2
Yjg2MjU3NjUxZGY0ZDBhN2UyYWE4MjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdl
L3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVW5jYXVn
aHQgVHJhbnNhY3Rpb25DYWxsYmFja0Vycm9yCi1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhp
cyB0ZXN0IGhhcyBwYXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
M2NkOWRjZmZmMDU5OGI0Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2Mzog
VW5jYXVnaHQgIzxPYmplY3Q+Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8
T2JqZWN0PgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxi
YWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRo
ZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLVRlc3Rpbmcg
dHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcg
dHJ1ZSA6IFNVQ0NFU1MKLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBl
cnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVudCBj
YWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0
cnVlIDogU1VDQ0VTUwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0
aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwgVGVz
dHMgYXJlIGNvbXBsZXRlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC9z
dGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5MzlhY2Rk
YWFlZjQ3YzY0MzJiZDU2ZGEzMzQ0OGVlY2NhZjdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgNjc6IFVuY2F1Z2h0IEV4Y2VwdGlvbiBpbiBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJh
Y2sKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkg
cm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0
aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2
YWx1ZS4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQu
CitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0
aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRy
YW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2Fj
dGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
c3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3Vj
Y2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2Vz
cyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBj
YWxsYmFjayB3YXMgaW52b2tlZC4KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0
aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWFiMGU3MTAyY2NmMWY2Yjg2MjU3
NjUxZGY0ZDBhN2UyYWE4MjdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2Vw
dGlvbi1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgMTM6IFVuY2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0IGRv
ZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3It
Y2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2lu
L3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zY2Q5ZGNmZmYwNTk4YjRjODk5NTJmM2JhMzU4ZmM3OGQzZmI4MGNmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uv
d2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmplY3Q+CitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorVGhpcyB0ZXN0IGNvbmZp
cm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5
IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMg
cm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQt
d2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3Rpbmcg
dHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFs
c2UgOiBTVUNDRVNTCitUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRp
b24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUworVGVzdGluZyBz
dGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayBy
ZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCitBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3F1b3RhLXRyYWNr
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uv
cXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4MjliZDhkOTFhOTk1N2YzMjVjMzgwYmQyOTAxOWNiODBkZTExNzIwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTQgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90
YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRo
ZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9j
aGFuZ2VzZXQvMjk5ODMuCi1UaGUgdGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNlcywgc2V0cyB0aGUg
cXVvdGEgZm9yIHRoZSBvcmlnaW4gdG8gNDBrLCB0aGVuIHRyaWVzIHRvIGluc2VydCAxN2sgb2Yg
ZGF0YSBpbnRvIHR3byBkYXRhYmFzZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFubmVkLCB0aGUgc2Vj
b25kIGluc2VydCBzaG91bGQgZmFpbCwgdGhlIFVJIERlbGVnYXRlIHNob3VsZCBiZSBpbmZvcm1l
ZCBvZiB0aGUgZXhjZWVkZWQgcXVvdGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0aGUgcXVvdGEgZm9y
IHRoaXMgb3JpZ2luLiBJbnNlcnRpbmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJkIHRpbWUgc2hvdWxk
IHN1Y2NlZWQgYWdhaW4uCi1BZGRpbmcgYSB0YWJsZQotSW5zZXJ0aW5nIHNvbWUgZGF0YQotRG9u
ZSBhZGRpbmcgZGF0YQotQWRkaW5nIGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLUV4cGVj
dGVkIHF1b3RhIGV4Y2VwdGlvbiAtIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmluZyBzdG9y
YWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhlIHVzZXIg
ZGVjbGluZWQgdG8gYWxsb3cgbW9yZSBzcGFjZQotRG9uZSBhZGRpbmcgZGF0YQotQWRkaW5nIGEg
dGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLVVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gdGhlcmUg
d2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRoZSBzdG9yYWdlIHF1
b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxvdyBtb3JlIHNwYWNl
Ci1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE2MjZiY2MzMjQyZDAxMDA5MjczMTM1M2M3NmRj
MmNmNGJlZWQ1Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NB
R0U6IGxpbmUgMzc6IFVuY2F1Z2h0IEV4Y2VwdGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2Fs
bGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjk6IFVuY2F1Z2h0IENhbm5vdCBjYWxsIHRv
U3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCi1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNvZGVz
IHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCi1QQVNTOiBleHBlY3RlZCBhbmQg
Z290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3Ig
Y29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZTlRB
WF9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCi1QQVNT
OiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVk
IGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJy
b3IgY29kZSBWRVJTSU9OX0VSUgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI5YmQ4ZDkxYTk5NTdmMzI1YzM4MGJkMjkwMTljYjgw
ZGUxMTcyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3N0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0
IEBACitUaGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5mb3Jj
ZWQgcGVyLW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHByaW9y
IHRvIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8yOTk4
My4KK1RoZSB0ZXN0IGNsZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3IgdGhl
IG9yaWdpbiB0byA0MGssIHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8gdHdv
IGRhdGFiYXNlcy4gSWYgdGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0IHNo
b3VsZCBmYWlsLCB0aGUgVUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBleGNl
ZWRlZCBxdW90YSBhbmQgc2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmlnaW4u
IEluc2VydGluZyAxN2sgb2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBhZ2Fp
bi4KK0FkZGluZyBhIHRhYmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBkYXRh
CitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEgZXhj
ZXB0aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9y
IHRoZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBh
bGxvdyBtb3JlIHNwYWNlCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0
aW5nIHNvbWUgZGF0YQorVW5leHBlY3RlZCBleGNlcHRpb24gLSB0aGVyZSB3YXMgbm90IGVub3Vn
aCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0b3JhZ2UgcXVvdGEgd2FzIHJlYWNo
ZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1vcmUgc3BhY2UKK1Rlc3QgQ29tcGxl
dGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFnZS93
ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWE2MjZiY2MzMjQyZDAxMDA5MjczMTM1M2M3NmRjMmNmNGJlZWQ1YwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3Fs
L3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDM3OiBVbmNhdWdodCBFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0aW9u
IGNhbGxiYWNrLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY5OiBVbmNhdWdodCBDYW5ub3QgY2Fs
bCB0b1N0cmluZygpIG9uIHRoaXMgb2JqZWN0LgorVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJvciBj
b2RlcyByZXBvcnRlZCBpbiBleGNlcHRpb25hbCBzaXR1YXRpb25zLgorUEFTUzogZXhwZWN0ZWQg
YW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVy
cm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBT
WU5UQVhfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VSUgor
UEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQQVNTOiBleHBl
Y3RlZCBhbmQgZ290IGVycm9yIGNvZGUgUVVPVEFfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290
IGVycm9yIGNvZGUgVkVSU0lPTl9FUlIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGRiMDAyNmZiNzFjMTg3N2ZiMjA4
YmYyZjNlYTgwNTdiNzEzZTIwYjUuLmE2Mjk1ZDQ2MTQyODZkNjFhMTY0MDI2YzNjNjc3ZjhkZjUw
NWU3YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQKQEAgLTU3OSw3ICs1NzksNyBAQCBXT05URklYIFNLSVAgOiBwbHVnaW5z
L3ByaXZhdGUtYnJvd3NpbmctbW9kZS5odG1sID0gRkFJTAogV09OVEZJWCBTS0lQIDogcGx1Z2lu
cy9wcml2YXRlLWJyb3dzaW5nLW1vZGUtMi5odG1sID0gVEVYVAogV09OVEZJWCBTS0lQIDogc3Rv
cmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLWFmZmVjdHMtc3Rv
cmFnZS5odG1sID0gRkFJTAogV09OVEZJWCBTS0lQIDogc3RvcmFnZS9kb21zdG9yYWdlL3Nlc3Np
b25zdG9yYWdlL3ByaXZhdGUtYnJvd3NpbmctYWZmZWN0cy1zdG9yYWdlLmh0bWwgPSBGQUlMCi1X
T05URklYIFNLSVAgOiBzdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUuaHRt
bCA9IFBBU1MKK1dPTlRGSVggU0tJUCA6IHN0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmct
bm9yZWFkLW5vd3JpdGUuaHRtbCA9IFBBU1MKIAogLy8gV2UgZG9uJ3QgbGV0IGFueW9uZSBzZXQg
c3RhdHVzIGluIHRoZSBicm93c2VyLgogV09OVEZJWCBTS0lQIDogcGx1Z2lucy9zZXQtc3RhdHVz
Lmh0bWwgPSBURVhUCkBAIC0xMDkyLDcgKzEwOTIsNyBAQCBCVUdDUjMzMjExIFdJTiBERUJVRyA6
IGh0dHAvdGVzdHMvbG9hZGluZy9kZWxldGVkLWhvc3QtaW4tcmVzb3VyY2UtbG9hZC1kZWxlZ2F0
ZQogQlVHQ1IzMzIxMSBMSU5VWCBNQUMgOiBodHRwL3Rlc3RzL2xvYWRpbmcvZGVsZXRlZC1ob3N0
LWluLXJlc291cmNlLWxvYWQtZGVsZWdhdGUtY2FsbGJhY2suaHRtbCA9IFRJTUVPVVQKIAogLy8g
SFRNTDUgREIgbGF5b3V0IHRlc3RzCi1CVUdDUjI3Njk3IFNLSVAgOiBzdG9yYWdlL2hhc2gtY2hh
bmdlLXdpdGgteGhyLmh0bWwgPSBQQVNTCitCVUdDUjI3Njk3IFNLSVAgOiBzdG9yYWdlL3dlYnNx
bC9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1sID0gUEFTUwogCiAvLyBJbXBsZW1lbnRhdGlvbiBv
ZiBEYXRlL3RpbWUgaW5wdXQgdHlwZXMgYXJlIGluY29tcGxldGUgYW5kCiAvLyBFTkFCTEVfSU5Q
VVRfVFlQRV8qIGZsYWdzIGFyZSBub3QgZW5hYmxlZC4KQEAgLTE4NjUsNyArMTg2NSw3IEBAIEJV
R19KQVBIRVQgV0lOIDogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC01
MG1zLWRvd25sb2FkLWRpc3BhdGNoCiAvLyBEdWUgdG8gdGhlIGRpZmZlcmVuY2VzIGluIGhhbmRs
aW5nIHRleHQgZW5jb2RpbmdzIGluIEtVUkwgYW5kIGdvb2dsZXVybC4KIEJVR1dLMjA1NTkgOiBo
dHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWZyYW1lcy1nYmsuaHRtbCA9IFRFWFQKIAotQlVH
V0szNjY2NiA6IHN0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwgPSBURVhUCitC
VUdXSzM2NjY2IDogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwg
PSBURVhUCiAKIEJVR1dLMzcyODMgOiBmYXN0L292ZXJmbG93L3Njcm9sbGJhci1yZXN0b3JlZC1h
bmQtdGhlbi1sb2NrZWQuaHRtbCA9IFRFWFQKIApAQCAtMjExMSw3ICsyMTExLDcgQEAgQlVHV0s2
MzA1NyBSRUxFQVNFIDogcGVyZi9hZGRpbmctcmFkaW8tYnV0dG9ucy5odG1sID0gTUlTU0lORyBG
QUlMIFBBU1MKIC8vIEZhaWxpbmcgYWZ0ZXIgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvNjU2NjUvCiAKIC8vIG5ldyBvciBmYWlsaW5nIHNpbmNlIFdlYktpdCByZXYuIDY1NzQwOjY1
ODAwCi1CVUdDUjUzMDczIFNLSVAgREVCVUcgOiBzdG9yYWdlL2NoYW5nZS12ZXJzaW9uLmh0bWwg
PSBQQVNTIENSQVNICitCVUdDUjUzMDczIFNLSVAgREVCVUcgOiBzdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi5odG1sID0gUEFTUyBDUkFTSAogCiAvLyByNjYxNDQgYWRkZWQgdGVzdHMgdG8g
dGVzdCB1c2VyIHNjcmlwdHMgb24gc3BlY2lhbCBkb2N1bWVudHMsIGFuZCBMaW51eCBjYW4ndAog
Ly8gcGFzcyB0aGVtIGJlY2F1c2UgdGhleSByZWx5IG9uIFF1aWNrVGltZSBiZWluZyBpbnN0YWxs
ZWQuIFdlIHdvbnRmaXggdGhlc2UKQEAgLTM1MDgsOSArMzUwOCw5IEBAIEJVR1dLODIxMjkgTUFD
IDogZmFzdC9ibG9jay9saW5lYm94Y29udGFpbi9nbHlwaHMuaHRtbCA9IFRFWFQKIAogQlVHV0s4
MjY2OSBMSU5VWCBXSU4gTEVPUEFSRCA6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3NwYWNlcy1j
b21iaW5lZC1pbi12ZXJ0aWNhbC10ZXh0Lmh0bWwgPSBURVhUCiAKLUJVR1dLODI3MTcgU05PV0xF
T1BBUkQgOiBzdG9yYWdlL3F1b3RhLXRyYWNraW5nLmh0bWwgPSBQQVNTIFRJTUVPVVQKLUJVR1dL
ODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1z
dGF0ZW1lbnQuaHRtbCA9IFBBU1MgVElNRU9VVAotQlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6IHN0
b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCA9IFBBU1MgVElNRU9VVAorQlVH
V0s4MjcxNyBTTk9XTEVPUEFSRCA6IHN0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLmh0bWwg
PSBQQVNTIFRJTUVPVVQKK0JVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL3dlYnNxbC9l
eGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwgPSBQQVNTIFRJTUVPVVQK
K0JVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL3dlYnNxbC9kYXRhYmFzZS1sb2NrLWFm
dGVyLXJlbG9hZC5odG1sID0gUEFTUyBUSU1FT1VUCiAKIC8vIFRoZXNlIHRlc3RzIGRlcGVuZHMg
b24gV29ya2VyIGJlaGF2aW9yIHRoYXQgaXMgYnJva2VuIGluIERSVAogQlVHV0s4Mjc3NiBTS0lQ
IDogc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC5odG1sID0gUEFTUyBG
QUlMCkBAIC0zNjcyLDggKzM2NzIsOCBAQCBCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVBU0Ug
OiBodHRwL3Rlc3RzL2xvYWRpbmcvMzA3LWFmdGVyLTMwMy1hZnRlci1wb3N0Lmh0bQogQlVHV0s4
MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogaHR0cC90ZXN0cy9taXNjL29iamVjdC1lbWJlZGRp
bmctc3ZnLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi54aHRtbCA9IFRJTUVPVVQgUEFTUwogQlVH
V0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9n
cHUvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC50ZXh0LWN1c3RvbS1mb250LWxvYWQtY3Jhc2guaHRt
bCA9IFRJTUVPVVQgUEFTUwogQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvMmQudGV4dC5kcmF3LmZpbGwubWF4
V2lkdGguZ3JhZGllbnQuaHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVPUEFS
RCBSRUxFQVNFIDogc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4t
dG9nZXRoZXIuaHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxF
QVNFIDogc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1s
ID0gVElNRU9VVCBQQVNTCitCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVBU0UgOiBzdG9yYWdl
L3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuaHRt
bCA9IFRJTUVPVVQgUEFTUworQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogc3RvcmFn
ZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbCA9IFRJ
TUVPVVQgUEFTUwogCiAvLyBicm9rZW4gaW4vYWZ0ZXIgcjExNTY0NgogQlVHV0s4NjQxNCA6IGZh
c3QvbG9hZGVyL2phdmFzY3JpcHQtdXJsLWluLWVtYmVkLmh0bWwgPSBURVhUCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCAxMmEzZjUxOTM1
M2I1Y2NhNTJlMTIwOWJhYzgxOWIyYzQ0NDNkYWU1Li42NjFmMWU0OTVhM2Q4NDllNzVjMGY4ZjUy
ZDYzNmM1ODVkNDRhZDg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvdGVz
dF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay90ZXN0X2V4
cGVjdGF0aW9ucy50eHQKQEAgLTY5OSwxMiArNjk5LDEyIEBAIEJVR1dLMjc5MDUgOiBodHRwL3Rl
c3RzL2xvYWRpbmcvcmVkaXJlY3QtbWV0aG9kcy5odG1sID0gRkFJTAogCiAvLyBOZXcgdGVzdCBp
bmZyYXN0cnVjdHVyZSByZXF1aXJlZCAtLSBuZWVkIGlzb2xhdGVkIHdvcmxkcwogQlVHV0szMTUw
OCA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZCA9IEZBSUwKLUJVR1dLMzE1MDgg
OiBzdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQu
aHRtbCA9IEZBSUwKLUJVR1dLMzE1MDggOiBzdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0szMTUwOCA6IHN0b3JhZ2Uvc3RhdGVt
ZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKLUJVR1dLMzE1
MDggOiBzdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBG
QUlMCi1CVUdXSzMxNTA4IDogc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0szMTUwOCA6IHN0b3JhZ2UvdHJhbnNhY3Rpb24t
c3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAorQlVHV0szMTUwOCA6
IHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQt
d29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLMzE1MDggOiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQt
ZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLMzE1MDggOiBz
dG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sID0gRkFJTAorQlVHV0szMTUwOCA6IHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCitCVUdXSzMxNTA4IDogc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwK
K0JVR1dLMzE1MDggOiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCiAKIEJVR1dLMzA1NzcgOiBlZGl0aW5nL3NlbGVj
dGlvbi9tb3ZlLWxlZnQtcmlnaHQuaHRtbCA9IEZBSUwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzkzOWUzNjUwYzU1NzNmYjlmOGRkMDc2ZWRjMjE5MmY5ODdmNzFlZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIEpTIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24o
KSBmdW5jdGlvbiB3b3JrcyBhcyBleHBlY3RlZC4KLUZpbmlzaGVkIHRlc3RzIHdpdGggdmVyc2lv
biAzOyBleHBlY3RlZCB2ZXJzaW9uOiAzCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y3NjQ4MWIzNGVjMjg1NjFk
ZTAyNzIzNGM1OTdmOWU0Zjg5YTE1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1y
ZXVzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRoaXMgdGVz
dHMgdGhhdCBhIGRhdGFiYXNlIGNhbiBiZSBhY2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBpdHMgdmVy
c2lvbi4gWW91IHNob3VsZCBzZWUgYW4gZXJyb3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJlbG93LCBu
b3QgYWJvdXQgbWlzbWF0Y2hpbmcgdmVyc2lvbnMuCi1jaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlv
biBjYWxsYmFjawotY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjawotdHJhbnNhY3Rpb246
IHN0YXRlbWVudCBlcnJvciBjYWxsYmFjazogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgx
IG5vIHN1Y2ggdGFibGU6IEZvb0JhcikKLVRFU1QgQ09NUExFVEUuCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5odG1sCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjNmYmY0ODRkN2E4NWEzNDkwYjUxNWI3MDg5NTQ0YWVl
MDg2ZmExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4gCi08aGVhZD4KLTxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJjaGFu
Z2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMiPjwvc2NyaXB0PgotPC9oZWFkPiAKLTxib2R5IG9u
bG9hZD0ic2V0dXBBbmRSdW5UZXN0KCkiPiAKLTxkaXY+VGhpcyB0ZXN0cyB0aGF0IGEgZGF0YWJh
c2UgY2FuIGJlIGFjY2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hvdWxk
IHNlZSBhbiBlcnJvciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNtYXRj
aGluZyB2ZXJzaW9ucy4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlkbid0
IHJ1bi4KLTwvcHJlPiAKLTwvYm9keT4gCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA4NDdhNThjM2I5MWZmMmM1MDgwZjJjOTIwYTVkNDFhYmNiNWNlMmEyLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
NDYgKzAsMCBAQAotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgbG9nKCJURVNUIENPTVBM
RVRFLiIpOwotCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0
KCkKLXsKLSAgICB0cnkgewotICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIkNo
YW5nZVZlcnNpb24iLCAiIiwgIlRlc3QgdGhhdCBjaGFuZ2luZyBhIGRhdGFiYXNlIHZlcnNpb24g
ZG9lc24ndCBraWxsIG91ciBoYW5kbGUgdG8gaXQiLCAxKTsKLSAgICAgICAgdmFyIHZlcnNpb24g
PSBkYi52ZXJzaW9uOwotICAgICAgICB2YXIgbmV3VmVyc2lvbiA9IHZlcnNpb24gPyAocGFyc2VJ
bnQodmVyc2lvbikgKyAxKS50b1N0cmluZygpIDogIjEiOyAKLSAgICAgICAgZGIuY2hhbmdlVmVy
c2lvbih2ZXJzaW9uLCBuZXdWZXJzaW9uLCBmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgbG9n
KCJjaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlvbiBjYWxsYmFjayIpOwotICAgICAgICB9LCBmdW5j
dGlvbihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBlcnJvciBjYWxs
YmFjazogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAg
ICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjayIpOwotICAgICAgICAg
ICAgcnVuVGVzdDIoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIAotICAgIH0gY2F0Y2ggKGUpIHsK
LSAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uIGV4Y2VwdGlvbjogIiArIGUpOwotICAgICAgICBm
aW5pc2hUZXN0KCk7Ci0gICAgfQotfQotIAotZnVuY3Rpb24gcnVuVGVzdDIoKQotewotICAgIHRy
eSB7Ci0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBmcm9tIEZvb0JhciIsIFtdLCBmdW5jdGlvbih0eCkgewot
ICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBjYWxsYmFjayIpOwot
ICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHR4
LCBlcnJvcikgewotICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBl
cnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgIGZpbmlz
aFRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9IGNhdGNoIChlKSB7
Ci0gICAgICAgIGxvZygidHJhbnNhY3Rpb24gZXhjZXB0aW9uOiAiICsgZSk7Ci0gICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2No
YW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0
LWZhaWx1cmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjBk
NTQ5Y2IwY2Q0N2RmYTg2NjFlNmU2YzU5ODkwNDNiOTljMzMxLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZl
cnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMyArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBubyBhc3NlcnRp
b24gaXMgdHJpZ2dlcmVkIHdoZW4gY2hhbmdlVmVyc2lvbigpJ3MgcHJlZmxpZ2h0IHN0ZXAgZmFp
bHMuCi1QQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBhbmQgbm8g
YXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQt
ZmFpbHVyZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTUxMmZiOWFjOTFk
ZmI0ZGEyYzhmMmU4MzZkYmM1MDg3NjU5MTIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8t
Y3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17
Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsK
LSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNz
YWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgIH0KLQotICAgIHZhciBkYiA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoIkNoYW5nZVZlcnNpb25G
YWlsdXJlVGVzdCIsICIxIiwgIlRlc3QgdGhlIHByZWZsaWdodCBzdGVwIiwgMTAyNCk7Ci0gICAg
ZGIuY2hhbmdlVmVyc2lvbigiMiIsICIzIiwgbnVsbCwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAg
ICAgbG9nKCJQQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBhbmQg
bm8gYXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4iKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwot
ICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBsb2coIkZBSUw6IGRiLmNoYW5nZVZlcnNpb24o
KSB3YXMgZXhwZWN0ZWQgdG8gZmFpbC4iKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0p
OwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgotVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoYXQgbm8gYXNzZXJ0aW9uIGlzIHRyaWdnZXJlZCB3aGVuIGNoYW5n
ZVZlcnNpb24oKSdzIHByZWZsaWdodCBzdGVwIGZhaWxzLgotPHByZSBpZD0iY29uc29sZSI+PC9w
cmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2No
YW5nZS12ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5YmI5ZGY1ODhiOTRjZGRjMDNiMmY3
OWFjOWFhNGYwNjY0NmI5NWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+VGVzdCBkYXRh
YmFzZS5jaGFuZ2VWZXJzaW9uPC90aXRsZT4KLTxzY3JpcHQ+Ci12YXIgZGIxOwotdmFyIEVYUEVD
VEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCA9ICcyJzsKLXZhciBFWFBFQ1RFRF9WRVJTSU9O
X0FGVEVSX1JFTE9BRCA9ICczJzsKLQotZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsgfQotCi1m
dW5jdGlvbiBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2sodHgpCi17Ci0gICAgdHguZXhlY3V0ZVNxbCgi
RFJPUCB0YWJsZSBpZiBleGlzdHMgaW5mbzsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5j
dGlvbik7Ci0gICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIHRhYmxlIGlmIG5vdCBleGlzdHMgaW5m
byAodmVyc2lvbiBJTlRFR0VSKTsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlvbik7
Ci0gICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIGludG8gaW5mbyB2YWx1ZXMoPyk7IiwgW0VYUEVD
VEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlvbik7
Ci19Ci0KLWZ1bmN0aW9uIGNoYW5nZVZlcnNpb25TdWNjZXNzKCkKLXsKLSAgICBsb2coIlN1Y2Nl
c3NmdWxseSBjaGFuZ2VkIHZlcnNpb24gdG8gIiArIGRiMS52ZXJzaW9uICsgIi4gUmVsb2FkaW5n
LiIpOwotICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsgJz8yJzsK
LX0KLQotZnVuY3Rpb24gY2hhbmdlVmVyc2lvbkVycm9yKGVycm9yKQotewotICAgIGxvZygiRXJy
b3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9u
IGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICBsb2coIlRFU1Qg
Q09NUExFVEUiKTsKLX0KLQotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Ci19
Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNo
ID09ICI/MiIpIHsKLSAgICAgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVy
c2lvbi10ZXN0IiwgIiIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1
bmN0aW9uIiwgMTAyNCk7Ci0gICAgICAgIGxvZygiRmluaXNoZWQgdGVzdHMgd2l0aCB2ZXJzaW9u
ICIgKyBkYjEudmVyc2lvbiArICI7IGV4cGVjdGVkIHZlcnNpb246ICIgKyBFWFBFQ1RFRF9WRVJT
SU9OX0FGVEVSX1JFTE9BRCk7Ci0KLSAgICAgICAgLy8gUmVzZXQgdGhlIERCIHZlcnNpb24gb3Ig
dGhlIG5leHQgcnVuIG1pZ2h0IGZhaWwuCi0gICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKGRiMS52
ZXJzaW9uLCAiMSIpOwotCi0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UKLSAgICAg
ICAgdGVzdFBhcnQxKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RQYXJ0MSgpIHsKLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgIH0KLQotICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNpb24tdGVz
dCIsICIxIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rpb24i
LCAxMDI0KTsKLSAgICB2YXIgZGIyID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVyc2lv
bi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBmdW5j
dGlvbiIsIDEwMjQpOwotCi0gICAgLy8gRmlyc3QgcnVuIEhpeGllJ3MgdGVzdCB0byBlbnN1cmUg
YmFzaWMgY2hhbmdlVmVyc2lvbiBmdW5jdGlvbmFsaXR5IHdvcmtzIChzZWUgYnVnIDI4NDE4KS4K
LSAgICBkYjEuY2hhbmdlVmVyc2lvbigiMSIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVf
VEVTVCwgbnVsbCwgZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgbG9nKCJGQUlMIGluIGNoYW5nZVZl
cnNpb246IiArIGUpOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24gKCkg
ewotICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZlcnNpb24gY2hhbmdlIGhhcyBwcm9wYWdhdGVk
IHRvIGRiMiB0b28uCi0gICAgICAgIC8vIEFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNob3VsZCBm
YWlsLgotICAgICAgICBpZiAoZGIyLnZlcnNpb24gIT0gZGIxLnZlcnNpb24pIHsKLSAgICAgICAg
ICAgIGxvZygiRkFJTDogY2hhbmdpbmcgZGIxJ3MgdmVyc2lvbiAoIiArIGRiMS52ZXJzaW9uICsg
IikgZGlkIG5vdCBjaGFuZ2UgZGIyJ3MgdmVyc2lvbiAoIiArIGRiMi52ZXJzaW9uICsgIikgYXMg
ZXhwZWN0ZWQuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLSAgICAg
ICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKLSAgICAgICAg
fSwgZnVuY3Rpb24oZXJyb3IpIHsgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBsb2coIkZB
SUw6IFRoZSBEQiB2ZXJzaW9uIGNoYW5nZWQsIGFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNob3Vs
ZCBmYWlsLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9KTsKLQotICAg
ICAgICAvLyBNYWtlIHN1cmUgYW55IG5ldyBoYW5kbGUgdG8gdGhlIHNhbWUgREIgc2VlcyB0aGUg
bmV3IHZlcnNpb24KLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHZhciBkYjMgPSBvcGVuRGF0
YWJhc2UoImNoYW5nZS12ZXJzaW9uLXRlc3QiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX0hJWElF
X1RFU1QsICIiLCAwKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgbG9nKCJG
QUlMIGluIG9wZW5EYXRhYmFzZTogIiArIGUpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwot
ICAgICAgICB9Ci0gICAgICAgIGlmIChkYjEudmVyc2lvbiAhPSBkYjMudmVyc2lvbikgewotICAg
ICAgICAgICAgbG9nKCJGQUlMOiBkYi52ZXJzaW9uKCIgKyBkYjEudmVyc2lvbiArICIpIGRvZXMg
bm90IG1hdGNoIGRiMy52ZXJzaW9uKCIgKyBkYjMudmVyc2lvbiArIikiKTsKLSAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIE5vdyB0cnkgYSB0ZXN0IHRv
IGVuc3VyZSB0aGUgdmVyc2lvbiBwZXJzaXN0cyBhZnRlciByZWxvYWRpbmcgKHNlZSBidWcgMjc4
MzYpCi0gICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElY
SUVfVEVTVCwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQUQsIGNoYW5nZVZlcnNpb25DYWxs
YmFjaywgY2hhbmdlVmVyc2lvbkVycm9yLCBjaGFuZ2VWZXJzaW9uU3VjY2Vzcyk7Ci0gICAgfSk7
Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Ci1UaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1bmN0
aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgotPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1z
dHJlc3MtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmlu
Zy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDJhYWQ5MGMxNjI5ZTUwYjBlNjA1MmNmOGI2ZTQ3ZTEzZTEwMWMwMjIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jbG9z
ZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNSAr
MCwwIEBACi1TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlLgot
Ci1BIEphdmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwgaG93ZXZl
ciwgYXMgdGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBmcmFtZS4g
SXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJhc2UgYWN0aXZpdHkgYnkgdGhyb3dpbmcg
YW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNWNjNTJmZDk1NTBkOTllNDRhYjg2MzBmYzY3MDJlZDk0Mjg4NTdlMi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTkg
KzAsMCBAQAotPGJvZHk+Ci08cD5TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFzc2VydGlv
biBmYWlsdXJlLjwvcD4KLTxwPkEgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25zb2xlIGlz
IGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVkIHdoZW4g
Y2xvc2luZyBhIGZyYW1lLgotSXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJhc2UgYWN0
aXZpdHkgYnkgdGhyb3dpbmcgYW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay48L3A+Ci08c2Ny
aXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0VGVzdCgpCi17Ci0gICAgc2V0VGltZW91dCgi
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdLnNyYyA9ICdhYm91dDpi
bGFuayciLCAxMDApOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgIHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIsIDUwMCk7
Ci19Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwi
IG9ubG9hZD0ic3RhcnRUZXN0KCkiPjwvaWZyYW1lPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVk
LnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjcyOTU2M2FiODA4Y2IzZGJlZDc3
MjUyZTdlNDAyMTJiNTBjZDMyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2Fk
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotSW5zZXJ0aW5nIHNv
bWUgZGF0YQotVGVzdCBwYXJ0IDIgQ29tcGxldGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1YjU5ODlmNzgwMjU3Y2ZkM2JhNDk5OTU4NWU0ZTU3NjUyMTJiMTUwLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwg
Kz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAg
bG9nKCJUZXN0IHBhcnQgMSBDb21wbGV0ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0K
LQotZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKLXsKLSAgICBsb2coIlRlc3QgZmFpbGVk
IC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlzaFRlc3QoKTsKLX0KLQotZnVuY3Rpb24g
YWRkRGF0YShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAg
ICBsb2coIkluc2VydGluZyBzb21lIGRhdGEiKTsKLSAgICAgICAgLy8gTG9hZCBhIG5ldyBwYWdl
IHdoaWxlIHRoZSB0cmFuc2FjdGlvbiBpcyBzdGlsbCBpbiBwcm9ncmVzcywgaW50ZXJydXB0aW5n
IHRoZSB0cmFuc2FjdGlvbi4KLSAgICAgICAgLy8gVGhpcyBzaG91bGQgbm90IGxlYXZlIHRoZSBk
YXRhYmFzZSBsb2NrZWQgYW5kIG9uIHRoZSBuZXh0IHBhZ2Ugd2Ugc2hvdWxkIGJlIGFibGUgdG8g
aW5zZXJ0Ci0gICAgICAgIC8vIHNvbWUgbW9yZSBkYXRhLgotICAgICAgICB0eC5leGVjdXRlU3Fs
KCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0IoNTI0MjAw
KSkiLCBbXSwKLSAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgbG9jYXRpb24uaHJl
ZiA9ICIuL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwiOyB9LAot
ICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVycm9yRnVuY3Rpb24oZXJyb3IpOyB9
KTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHRlc3REYXRh
KSBWQUxVRVMgKFpFUk9CTE9CKDUyNDIwMCkpIik7Ci0gICAgfSwgZXJyb3JGdW5jdGlvbiwgZnVu
Y3Rpb24oKSB7IGZpbmlzaFRlc3QoKTsgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7Ci0gICAgfQotCi0gICAgdmFyIGRhdGFiYXNlOwotICAgIHRyeSB7Ci0gICAgICAg
IGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUxvY2tUZXN0IiwgIjEuMCIsICJUZXN0
IGZvciBkYXRhYmFzZSBsb2NraW5nIiwgNTI0Mjg4MCk7Ci0gICAgfSBjYXRjaCAoZSkgewotICAg
ICAgICBsb2coIkVycm9yIC0gY291bGQgbm90IG9wZW4gZGF0YWJhc2UiKTsKLSAgICAgICAgZmlu
aXNoVGVzdCgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7Ci0gICAgICAgIGxvZygiQWRkaW5nIGEgdGFibGUiKTsKLSAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0ICh0ZXN0RGF0YSkiLCBbXSwgZnVuY3Rpb24odHgsIHJl
c3VsdCkgeyB9LAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVycm9yRnVuY3Rp
b24oZXJyb3IpOyB9KTsKLSAgICB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgYWRkRGF0
YShkYXRhYmFzZSk7IH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGQ5ZGNhNGUyNzM1MzRkYjNkODMz
YjY5OTk1MGRjYjE1MTg0YWJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotRXhlY3V0ZWQgYW4gZW1wdHkgc3RhdGVt
ZW50LiBJZiB5b3UgZGlkbid0IHNlZSBhIGNyYXNoIG9yIGFzc2VydGlvbiwgdGhlIHRlc3QgcGFz
c2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMzZlYzViOGNhYzVlNGE1ODI2MDg3NmJiNTM5ZmI4YmFiNjA0
Y2Y0OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVudC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MzYgKzAsMCBAQAotPGh0bWw+Ci0KLTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24gd3JpdGVN
ZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
c29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gZXhlY3V0
ZUVtcHR5U3RhdGVtZW50KHRyYW5zYWN0aW9uKQotewotICAgIHRyYW5zYWN0aW9uLmV4ZWN1dGVT
cWwoIiIpOwotICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJFeGVjdXRlZCBhbiBlbXB0eSBzdGF0ZW1l
bnQuIElmIHlvdSBkaWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0aGUgdGVzdCBwYXNz
ZWQuIik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkK
LXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkVt
cHR5U3RhdGVtZW50VGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIGFuIGVtcHR5IHN0YXRlbWVu
dCB0ZXN0IiwgMSk7Ci0gICAgZGIudHJhbnNhY3Rpb24oZXhlY3V0ZUVtcHR5U3RhdGVtZW50KTsK
LX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxw
cmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMGUzMGI0YmRkNmNmZGJmMmQ5MjAzOWQ1NWEyOWU5MzY3YzYyZDFh
YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMjkgKzAsMCBAQAotUEFTUy4gZXhlY3V0ZVNxbChudWxsKSBkaWQgbm90IHRocm93IGFu
IGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCh1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4g
ZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKDApIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
Ci1QQVNTLiBleGVjdXRlU3FsKCIiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4g
ZXhlY3V0ZVNxbCgiIiwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4
ZWN1dGVTcWwoIiIsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1Mu
IGV4ZWN1dGVTcWwoIiIsIFtdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhl
Y3V0ZVNxbCgiIiwgWyAiYXJnMCIgXSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1Mu
IGV4ZWN1dGVTcWwoIiIsIHsgfSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4
ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAwIH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCi1Q
QVNTLiBleGVjdXRlU3FsKCIiLCB7IGxlbmd0aDogMSwgMDogImFyZzAiIH0pIGRpZCBub3QgdGhy
b3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsKSBkaWQgbm90
IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgdW5kZWZpbmVk
KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwg
eyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVs
bCwgbnVsbCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVT
cWwoIiIsIG51bGwsIG51bGwsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24K
LVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsIHsgfSkgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0
ZWQuCi1QQVNTLiBleGVjdXRlU3FsKHRocm93T25Ub1N0cmluZ09iamVjdCkgdGhyZXcgYW4gZXhj
ZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgdGhyb3dPbkdldExlbmd0
aE9iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNx
bCgiIiwgdGhyb3dPbkdldFplcm9PYmplY3QpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3Rl
ZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIFsgdGhyb3dPblRvU3RyaW5nT2JqZWN0IF0pIHRocmV3
IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIDApIHRocmV3
IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsICIiKSB0aHJl
dyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCAw
KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBu
dWxsLCAiIikgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNx
bCgiIiwgbnVsbCwgbnVsbCwgMCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFT
Uy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgIiIpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBl
eHBlY3RlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1h
cmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjlmMmE0M2FiYWEzNjdjZDk1Y2IwMjY4YzlmNzRj
OTg2YTk5YzVjYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZXhlY3V0ZS1zcWwt
YXJncy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5U
ZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgot
PC9wcmU+IAotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2V4ZWN1dGUtc3FsLWFyZ3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3Fs
LWFyZ3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiOTQxNGRiM2NhM2M4MDUw
NjFiZGFjNmFjNmM4ZmI3ZDdmYzkwMmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotdmFyIHRocm93T25Ub1N0cmluZ09iamVjdCA9
IHsgfTsKLXRocm93T25Ub1N0cmluZ09iamVjdC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsgdGhy
b3cgIkNhbm5vdCBjYWxsIHRvU3RyaW5nIG9uIHRoaXMgb2JqZWN0LiIgfTsKLQotdmFyIHRocm93
T25HZXRMZW5ndGhPYmplY3QgPSB7IH07Ci10aHJvd09uR2V0TGVuZ3RoT2JqZWN0Ll9fZGVmaW5l
R2V0dGVyX18oImxlbmd0aCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgbGVuZ3Ro
IG9mIHRoaXMgb2JqZWN0LiI7IH0pOwotCi12YXIgdGhyb3dPbkdldFplcm9PYmplY3QgPSB7IGxl
bmd0aDogMSB9OwotdGhyb3dPbkdldFplcm9PYmplY3QuX19kZWZpbmVHZXR0ZXJfXygiMCIsIGZ1
bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgMCBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdC4i
OyB9KTsKLQotdmFyIGV4cGVjdE5vRXhjZXB0aW9uID0gWwotICAgICdudWxsJywKLSAgICAndW5k
ZWZpbmVkJywKLSAgICAnMCcsCi0gICAgJyIiJywKLSAgICAnIiIsIG51bGwnLAotICAgICciIiwg
dW5kZWZpbmVkJywKLSAgICAnIiIsIFtdJywKLSAgICAnIiIsIFsgImFyZzAiIF0nLAotICAgICci
IiwgeyB9JywKLSAgICAnIiIsIHsgbGVuZ3RoOiAwIH0nLAotICAgICciIiwgeyBsZW5ndGg6IDEs
IDA6ICJhcmcwIiB9JywKLSAgICAnIiIsIG51bGwsIG51bGwnLAotICAgICciIiwgbnVsbCwgdW5k
ZWZpbmVkJywKLSAgICAnIiIsIG51bGwsIHsgfScsCi0gICAgJyIiLCBudWxsLCBudWxsLCBudWxs
JywKLSAgICAnIiIsIG51bGwsIG51bGwsIHVuZGVmaW5lZCcsCi0gICAgJyIiLCBudWxsLCBudWxs
LCB7IH0nLAotXTsKLQotdmFyIGV4cGVjdEV4Y2VwdGlvbiA9IFsKLSAgICAnJywKLSAgICAndGhy
b3dPblRvU3RyaW5nT2JqZWN0JywKLSAgICAnIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3QnLAot
ICAgICciIiwgdGhyb3dPbkdldFplcm9PYmplY3QnLAotICAgICciIiwgWyB0aHJvd09uVG9TdHJp
bmdPYmplY3QgXScsCi0gICAgJyIiLCAwJywKLSAgICAnIiIsICIiJywKLSAgICAnIiIsIG51bGws
IDAnLAotICAgICciIiwgbnVsbCwgIiInLAotICAgICciIiwgbnVsbCwgbnVsbCwgMCcsCi0gICAg
JyIiLCBudWxsLCBudWxsLCAiIicsCi1dOwotCi1mdW5jdGlvbiB0cnlFeGVjdXRlU3FsKHRyYW5z
YWN0aW9uLCBwYXJhbWV0ZXJMaXN0KQotewotICAgIHRyeSB7Ci0gICAgICAgIGV2YWwoJ3RyYW5z
YWN0aW9uLmV4ZWN1dGVTcWwoJyArIHBhcmFtZXRlckxpc3QgKyAnKScpOwotICAgICAgICByZXR1
cm4gbnVsbDsKLSAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKLSAgICAgICAgcmV0dXJuIGV4Y2Vw
dGlvbjsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlv
biwgcGFyYW1ldGVyTGlzdCwgZXhwZWN0RXhjZXB0aW9uKQotewotICAgIHZhciBleGNlcHRpb24g
PSB0cnlFeGVjdXRlU3FsKHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KTsKLSAgICBpZiAoZXhw
ZWN0RXhjZXB0aW9uKSB7Ci0gICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAgICBsb2co
IlBBU1MuIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRp
b24gYXMgZXhwZWN0ZWQuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiKkZBSUwq
LiBleGVjdXRlU3FsKCIgKyBwYXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBhbiBleGNl
cHRpb24iKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAgICAg
ICAgbG9nKCIqRkFJTCouIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBh
biBleGNlcHRpb246ICIgKyBleGNlcHRpb24pOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBs
b2coIlBBU1MuIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRocm93
IGFuIGV4Y2VwdGlvbiIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25UZXN0
cyh0cmFuc2FjdGlvbikKLXsKLSAgICBmb3IgKGkgaW4gZXhwZWN0Tm9FeGNlcHRpb24pCi0gICAg
ICAgIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0Tm9FeGNlcHRpb25baV0s
IGZhbHNlKTsKLSAgICBmb3IgKGkgaW4gZXhwZWN0RXhjZXB0aW9uKQotICAgICAgICBydW5UcmFu
c2FjdGlvblRlc3QodHJhbnNhY3Rpb24sIGV4cGVjdEV4Y2VwdGlvbltpXSwgdHJ1ZSk7Ci0KLSAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotCi0gICAg
dmFyIGRiID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiRXhlY3V0ZVNRTEFyZ3NUZXN0IiwgIjEu
MCIsICJUZXN0IG9mIGhhbmRsaW5nIG9mIHRoZSBhcmd1bWVudHMgdG8gU1FMVHJhbnNhY3Rpb24u
ZXhlY3V0ZVNxbCIsIDEpOwotICAgIGRiLnRyYW5zYWN0aW9uKHJ1blRyYW5zYWN0aW9uVGVzdHMp
OwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMt
b25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvZXhl
Y3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5NWNlZWU4Yzg4M2FkZTE0M2VhOTZhMTUyMzU3ZDA2NzU5
YTlmYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0IHRlc3Rz
IHRoYXQgZXhlY3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVkIHdpdGggYSBzdHJpbmcgdGhhdCBo
YXMgbW9yZSB0aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4gaXQuCi1UZXN0IHBhc3NlZC4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1v
bmUtc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0
cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTM4NjBjODk5MjVmMmZjZGIxMDYzNmZlN2M2MjNhYzgzYjEzNjAyYS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1
dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0x
LDc4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi12YXIgVE9UQUxfU1RBVEVN
RU5UUyA9IDg7Ci12YXIgc3RhdGVtZW50cyA9IDA7Ci12YXIgZGIgPSBudWxsOwotCi1mdW5jdGlv
biBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCArPSBtZXNzYWdl
ICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlU3RhdGVtZW50KGV4cGVjdGVkVG9QYXNz
LCBzdGF0ZW1lbnQpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAg
ICAgdHguZXhlY3V0ZVNxbChzdGF0ZW1lbnQsIFtdLAotICAgICAgICAgICAgZnVuY3Rpb24odHgs
IGRhdGEpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWV4cGVjdGVkVG9QYXNzKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGxvZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBlY3Rl
ZCB0byBmYWlsLCBidXQgcGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVU
ZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgrK3N0YXRlbWVu
dHMgPT0gVE9UQUxfU1RBVEVNRU5UUykgewotICAgICAgICAgICAgICAgICAgICBsb2coIlRlc3Qg
cGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKGV4cGVjdGVkVG9QYXNzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxvZygi
U3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBlY3RlZCB0byBwYXNzLCBidXQgZmFp
bGVkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgrK3N0YXRlbWVudHMgPT0gVE9UQUxfU1RBVEVN
RU5UUykgewotICAgICAgICAgICAgICAgICAgICBsb2coIlRlc3QgcGFzc2VkLiIpOwotICAgICAg
ICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAg
ICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
Ci0gICAgfQotCi0gICAgZGIgPSBvcGVuRGF0YWJhc2UoIkV4ZWN1dGVTUUxBY2NlcHRzT25seU9u
ZVN0YXRlbWVudFRlc3QiLCAiMS4wIiwgIiIsIDEpOwotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0
aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJ
U1RTIFRlc3QgKEZvbyBJTlQpIik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAg
bG9nKCJUZXN0IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICB0ZXJtaW5hdGVU
ZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHJ1
ZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgxKSIpOwotICAgICAgICBleGVjdXRlU3RhdGVt
ZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMik7Iik7Ci0gICAgICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgzKSAgICAiKTsK
LSAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiICAgSU5TRVJUIElOVE8gVGVzdCBWQUxV
RVMgKDQpOyAgICIpOwotICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQgSU5U
TyBUZXN0IFZBTFVFUyAoNSkgICA7Iik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2Us
ICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoNik7IGdhcmJhZ2UiKTsKLSAgICAgICAgZXhlY3V0
ZVN0YXRlbWVudChmYWxzZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg3KTsgSU5TRVJUIElO
VE8gVGVzdCBWQUxVRVMgKDgpIik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2UsICIg
IElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg5KTsgICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAo
MTApOyAgICIpOwotICAgIH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCBleGVjdXRlU3FsKCkgZmFpbHMg
d2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlkIHN0
YXRlbWVudCBpbiBpdC48YnI+Ci08L2JvZHk+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTk2NGU2Mzc1YmQzYTMxYmFiODhiNzI1NWI4
ZjU0MDcyNGNjY2VjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1DaGFuZ2luZyB0aGUgaGFzaCB0byBjcmVh
dGUgaGlzdG9yeSBlbnRyaWVzLgotRGIgaXMgd2FybWVkIHVwCi1UZXN0IENvbXBsZXRlLCBTVUND
RVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14
aHIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg0MzIwZjBmMTljNzhjNGZjYzhjNmY4NTQy
MGJlOGNmNTZiMzM5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4gCi08aGVhZD4gCi08dGl0bGU+SGFzaCBD
aGFuZ2Ugd2l0aCBhbiBPcGVuIFhIUiBzaG91bGQgbm90IHN0b3AgZGF0YWJhc2UgdHJhbnNhY3Rp
b25zPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48
L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoYXNoLWNoYW5nZS13aXRoLXhoci5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+IAotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKSI+IAotPHByZSBpZD0i
Y29uc29sZSI+Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4KLTwvYm9keT4gCi08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRoLXhoci5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y1NmY3OTVhMTgyZTFhODFkYWZiNjQwMGVjODNj
OGMzMGMwZDVmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsMTE4ICswLDAgQEAKLXZhciBEQl9VUERBVEVfSU5URVJWQUwgPSAxMDA7Ci12YXIg
U0VORF9YSFJfSU5URVJWQUwgPSAxMDA7Ci12YXIgQkFDS19JTlRFUlZBTCA9IDEwMDsKLXZhciBD
UkVBVEVfSEVBTFRIX1RBQkxFID0gJ0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGhlYWx0aCAo
a2V5IFZBUkNIQVIoMTYpIFBSSU1BUlkgS0VZKTsnOwotdmFyIFVQREFURV9EQVRBID0gJ1JFUExB
Q0UgSU5UTyBoZWFsdGggVkFMVUVTKCJoZWFsdGgtY2hlY2sta2V5Iik7JzsKLSAKLXZhciBkYiA9
IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoJ2J1ZzI1NzEwJywgJzEuMCcsICdMYXlvdXRUZXN0IGZv
ciBidWcgMjU3MTAnLCAxMDI0MDApOwotdmFyIGJhY2tJdGVyYXRpb25zOwotdmFyIHhockZjdElu
dGVydmFsSWQ7Ci12YXIgYmFja0ZjdEludGVydmFsSWQ7Ci12YXIgc3VjY2Vzc0NoZWNrSW50ZXJ2
YWxJZDsKLXZhciBkYkZjdEludGVydmFsSWQ7Ci12YXIgc3VjY2Vzc2VzOwotdmFyIGRhdGFiYXNl
VXBkYXRlczsKLXZhciBzdG9wcGVkSW50ZXJ2YWxzOwotIAotZnVuY3Rpb24gc3RvcEludGVydmFs
cygpCi17Ci0gICAgc3RvcHBlZEludGVydmFscyA9IHRydWU7Ci0gICAgY2xlYXJJbnRlcnZhbChk
YkZjdEludGVydmFsSWQpOwotICAgIGNsZWFySW50ZXJ2YWwoeGhyRmN0SW50ZXJ2YWxJZCk7Ci0g
ICAgY2xlYXJJbnRlcnZhbChiYWNrRmN0SW50ZXJ2YWxJZCk7Ci19Ci0KLWZ1bmN0aW9uIHN0b3BU
ZXN0KG1lc3NhZ2UpCi17Ci0gICAgaWYgKCFzdG9wcGVkSW50ZXJ2YWxzKQotICAgICAgICBzdG9w
SW50ZXJ2YWxzKCk7Ci0KLSAgICBsb2cobWVzc2FnZSk7Ci0KLSAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Ci19Ci0gICAgCi1mdW5jdGlvbiB1cGRhdGVEYXRhYmFzZSgpCi17Ci0gICAgZGF0YWJhc2VV
cGRhdGVzKys7ICAKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0cmFuc2FjdGlvbikgewot
ICAgICAgICB0cmFuc2FjdGlvbi5leGVjdXRlU3FsKFVQREFURV9EQVRBLCBbXSwgZnVuY3Rpb24o
KSB7fSwgZXJyb3JIYW5kbGVyKTsKLSAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9uKCkgewot
ICAgICAgICBzdWNjZXNzZXMrKzsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gY2hlY2tGb3JTdWNj
ZXNzKCkKLXsKLSAgICBpZiAoc3VjY2Vzc2VzID09IGRhdGFiYXNlVXBkYXRlcykgewotICAgICAg
ICBzdG9wVGVzdCgnVGVzdCBDb21wbGV0ZSwgU1VDQ0VTUycpOwotICAgICAgICBjbGVhckludGVy
dmFsKHN1Y2Nlc3NDaGVja0ludGVydmFsSWQpOwotICAgIH0KLX0KLSAKLWZ1bmN0aW9uIGVycm9y
SGFuZGxlcih0eCwgZXJyb3IpCi17Ci0gICAgbG9nKCdEQiBlcnJvciwgY29kZTogJyArIGVycm9y
LmNvZGUgKyAnLCBtc2c6ICcgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBzdG9wVGVzdCgnVGVzdCBD
b21wbGV0ZSwgRkFJTEVEJyk7Ci19Ci0gCi1mdW5jdGlvbiBzZW5kWGhyKCkKLXsKLSAgICB4aHIg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbignR0VUJywgbG9jYXRpb24uaHJl
ZiwgdHJ1ZSk7Ci0gICAgeGhyLnNlbmQoJycpOwotfQotIAotZnVuY3Rpb24gaW52b2tlQmFjaygp
Ci17Ci0gICAgYmFja0l0ZXJhdGlvbnMtLTsKLSAgICBpZiAoYmFja0l0ZXJhdGlvbnMpIHsKLSAg
ICAgICAgaGlzdG9yeS5iYWNrKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc3RvcEludGVydmFs
cygpOwotICAgICAgICAvLyBBbGxvdyBhIGxpdHRsZSB0aW1lIGZvciBhbGwgdGhlIGRhdGFiYXNl
IHRyYW5zYWN0aW9ucyB0byBjb21wbGV0ZSBub3cgd2UndmUgc3RvcHBlZCBtYWtpbmcgdGhlbS4K
LSAgICAgICAgc3VjY2Vzc0NoZWNrSW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGNoZWNrRm9yU3Vj
Y2VzcywgMjUwKTsKLSAgICAgICAgLy8gSWYgd2UgZG9uJ3QgZmluaXNoIGJlZm9yZSB0aGlzIHRp
bWUsIHRoZW4gd2UgY29uc2lkZXIgdGhlIHRlc3QgZmFpbGVkLgotICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeyBzdG9wVGVzdCgnVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRyYW5zYWN0aW9u
cyB0byBjb21wbGV0ZS4gRkFJTEVEJyk7IH0sIDIwMDAwKTsKLSAgICAgICAgCi0gICAgfQotfQot
Ci1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICAvLyBMb2NhdGlvbiBjaGFuZ2VzIG5lZWQgdG8g
aGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRvIGdlbmVyYXRlIGhpc3RvcnkgZW50
cmllcy4KLSAgICBzZXRUaW1lb3V0KHJ1blRlc3RzSW5uZXIsIDApOwotfQotCi1mdW5jdGlvbiBy
dW5UZXN0c0lubmVyKCkKLXsKLSAgICBiYWNrSXRlcmF0aW9ucyA9IDEwOwotICAgIGNvbnNlY3V0
aXZlRmFpbHVyZXMgPSAwOwotICAgIHN1Y2Nlc3NlcyA9IDA7Ci0gICAgZGF0YWJhc2VVcGRhdGVz
ID0gMDsKLSAgICBzdG9wcGVkSW50ZXJ2YWxzID0gZmFsc2U7Ci0KLSAgICAvLyBDcmVhdGUgc29t
ZSBoYXNoZXMgc28gd2UgY2FuIGNhbGwgaGlzdG9yeS5iYWNrKCkuCi0gICAgbG9nKCdDaGFuZ2lu
ZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVzLicpOwotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgYmFja0l0ZXJhdGlvbnM7IGkrKykgewotICAgICAgICBzZXRMb2NhdGlvbkhhc2go
aSk7Ci0gICAgfQotCi0gICAgLy8gSW5pdCB0aGUgZGF0YWJhc2UuCi0gICAgZGIudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHJhbnNhY3Rpb24pIHsKLSAgICAgICAgdHJhbnNhY3Rpb24uZXhlY3V0ZVNx
bChDUkVBVEVfSEVBTFRIX1RBQkxFLCBbXSwgZnVuY3Rpb24oKSB7fSwgZXJyb3JIYW5kbGVyKTsK
LSAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9uKCkgewotICAgICAgICAvLyBHaXZlIGEgbGl0
dGxlIGZvciB0aGUgZGF0YWJhc2UgdG8gJ3dhcm0gdXAnIGJlZm9yZSBtYWtpbmcgeGhyIHJlcXVl
c3RzCi0gICAgICAgIC8vIGFuZCBjYWxsaW5nIGhpc3RvcnkuYmFjaygpLgotICAgICAgICBzZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbG9nKCdEYiBpcyB3YXJtZWQgdXAnKTsK
LQotICAgICAgICAgICAgLy8gTk9URTogSWYgd2UgZG9uJ3QgbWFrZSBhbnkgeGhyIHJlcXVlc3Rz
LCB0aGVuIHRoZSB0ZXN0Ci0gICAgICAgICAgICAvLyBzdWNjZXNzZnVsbHkgcGFzc2VzIChjb21t
ZW50IHRoaXMgbGluZSBvdXQpLgotICAgICAgICAgICAgeGhyRmN0SW50ZXJ2YWxJZCA9IHNldElu
dGVydmFsKHNlbmRYaHIsIFNFTkRfWEhSX0lOVEVSVkFMKTsKLSAgICAgICAgICAgIGJhY2tGY3RJ
bnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoaW52b2tlQmFjaywgQkFDS19JTlRFUlZBTCk7Ci0gICAg
ICAgICAgICBkYkZjdEludGVydmFsSWQgPSBzZXRJbnRlcnZhbCh1cGRhdGVEYXRhYmFzZSwgREJf
VVBEQVRFX0lOVEVSVkFMKTsKLSAgICAgICAgfSwgNTAwKTsKLSAgICB9KTsKLX0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVj
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNl
cy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBkMDE1MTRhNmFlZmIzNjI4ZWIwMDM2NGNiMjYyNGMyMGUwZTg5MDA0Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRoaXMgdGVzdCBvcGVucyB0d28gZGF0YWJhc2Vz
LCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3BlcmF0aW9ucyBvbiBib3RoLCB0aGVuICJmb3JnZXRz
IiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0ZXIgZm9yY2luZyBHQywgcmVzb3VyY2VzIGFzc29jaWF0
ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBncmFjZWZ1bGx5LgotRm9yZ290
dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCi1QZXJzaXN0ZW50IERhdGFiYXNlIFRy
YW5zYWN0aW9uIENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVs
dGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0NTFhY2ZiYjk5YTQzOWRkODI0NzZjMTk5NDkxNjY4NmE5
YTZmMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBz
cmM9Im11bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMiPjwvc2NyaXB0Pgot
PGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IG9wZW5zIHR3byBk
YXRhYmFzZXMsIHF1ZXVlcyB1cCBhIHNlcmllcyBvZiBvcGVyYXRpb25zIG9uIGJvdGgsIHRoZW4g
ImZvcmdldHMiIGFib3V0IG9uZSBvZiB0aGVtLgotQWZ0ZXIgZm9yY2luZyBHQywgcmVzb3VyY2Vz
IGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBncmFjZWZ1bGx5
Ljxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KLTwv
cHJlPiAKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
bXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggOWEyYjI3ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZlZjY0NDIw
ZDg2Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMK
KysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1mdW5jdGlvbiBHQygpCi17Ci0gICAgLy8g
Rm9yY2UgR0MuCi0gICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCi0gICAgICAgIEdDQ29udHJv
bGxlci5jb2xsZWN0KCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDA7ICsraSkgewotICAgICAgICAgICAgKHsgfSk7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0K
LS8vIFZhcmlhYmxlIGZvciB0aGUgZGF0YWJhc2UgdGhhdCB3aWxsIG5ldmVyIGJlIGZvcmdvdHRl
bgotdmFyIHBlcnNpc3RlbnREQiA9IDA7Ci0vLyBWYXJpYWJsZSBmb3IgdGhlIGZvcmdvdHRlbiBk
YXRhYmFzZQotdmFyIGZvcmdvdHRlbkRCID0gMDsKLQotdmFyIGNvbXBsZXRlZCA9IDA7Ci1mdW5j
dGlvbiBjaGVja0NvbXBsZXRpb24oKQotewotICAgIGlmICgrK2NvbXBsZXRlZCA9PSAyICYmIHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBwZXJzaXN0ZW50
REIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJNdWx0aXBsZURhdGFiYXNlc1Rlc3QxIiwgIjEu
MCIsICJUZXN0IG9uZSBvdXQgb2YgYSBzZXQgb2YgZGF0YWJhc2VzIGJlaW5nIGRlc3Ryb3llZCAo
MSkiLCAzMjc2OCk7Ci0gICAgZm9yZ290dGVuREIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJN
dWx0aXBsZURhdGFiYXNlc1Rlc3QyIiwgIjEuMCIsICJUZXN0IG9uZSBvdXQgb2YgYSBzZXQgb2Yg
ZGF0YWJhc2VzIGJlaW5nIGRlc3Ryb3llZCAoMikiLCAzMjc2OCk7Ci0KLSAgICBwZXJzaXN0ZW50
REIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JF
QVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRGF0YVRlc3QgKHJhbmRvbURhdGEpIiwgW10sIGZ1bmN0
aW9uKHR4LCByZXN1bHQpIHsgCi0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI1OyAr
K2kpCi0gICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3Qg
KHJhbmRvbURhdGEpIFZBTFVFUyAoMSkiLCBbXSk7Ci0gICAgICAgIH0pOyAKLSAgICB9LCBmdW5j
dGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0aW9u
IEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAgfSwg
ZnVuY3Rpb24oKSB7Ci0gICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBUcmFuc2FjdGlv
biBDb21wbGV0ZSIpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsKLQotICAg
IGZvcmdvdHRlbkRCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1
dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEVtcHR5VGFibGUgKHVuaW1wb3J0YW50
RGF0YSkiLCBbXSk7Ci0gICAgfSwgZnVuY3Rpb24oZXJyKSB7Ci0gICAgICAgIGxvZygiRm9yZ290
dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAgICAgZm9y
Z290dGVuREIgPSAwOwotICAgICAgICBHQygpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgbG9nKCJGb3Jnb3R0ZW4gRGF0YWJhc2UgVHJh
bnNhY3Rpb24gQ29tcGxldGUiKTsKLSAgICAgICAgZm9yZ290dGVuREIgPSAwOwotICAgICAgICBH
QygpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsKLX0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5YzBmNmU5NWJhZmI4ZjU3ODMzNjA5NjE2
ZWY1MmM3MDg5NjEyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRoaXMgaXMgYSB0ZXN0IHRvIHNlZSBp
ZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgdG8gYmUgcXVl
dWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6Ci1UcmFuc2FjdGlvbiAxIFN0YXJ0ZWQK
LVRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCi1UcmFuc2FjdGlvbiAyIFN0YXJ0ZWQKLVRyYW5zYWN0
aW9uIDIgU3VjY2VlZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE2YTJkMTdjYTA2
ODcxNzU5MDFiM2ViYmUwN2NjNjJmOGYyZDZlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0
aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSw4ICswLDAgQEAKLVRoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiBxdWV1ZWluZyB1cCBtdWx0aXBs
ZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2Ug
cmVzdWx0cyBpbiBhIGRlYWRsb2NrLgotZGIxIHJlYWQgc3RhdGVtZW50IHN1Y2NlZWRlZAotZGIx
IHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQKLWRi
MiByZWFkIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMiB3cml0ZSBzdGF0ZW1lbnQgc3VjY2VlZGVk
Ci1kYjIgdHJhbnNhY3Rpb24gc3VjY2VlZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFu
ZGxlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTE4YzMyMmMxNWEzNmI0
MWIxNDMwNzMyM2U2Mzk2MGFkZTE2MGMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25z
LW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24u
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZm
ZXJlbnQtaGFuZGxlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVw
QW5kUnVuVGVzdCgpOyI+Ci1UaGlzIGlzIGEgdGVzdCB0byBzZWUgaWYgcXVldWVpbmcgdXAgbXVs
dGlwbGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFi
YXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay48YnI+Ci08cHJlIGlkPSJjb25zb2xlIj4gCi1GQUlM
VVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4gCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJl
bnQtaGFuZGxlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25z
LW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5
YWI0YjkzZWY4M2E3NmM3ZTRjOTI0ODFkZmZmMGU1MTc3ZjRhYzFkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsNzggKzAsMCBAQAotdmFyIGNvbXBsZXRlID0gMDsKLQotZnVuY3Rpb24gY2hlY2tDb21wbGV0
aW9uKCkKLXsKLSAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5kIGFmdGVyIHR3byB0cmFuc2FjdGlv
bnMKLSAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi0vLyBP
cGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2FzZQotZnVuY3Rpb24gb3BlblRl
c3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIk11bHRp
cGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVzdCIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIjEuMCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcgbXVsdGlwbGUgdHJhbnNhY3Rpb25z
IG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJlc3VsdCBpbiBhIGRlYWRsb2NrLiIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3NjgpOwotfQotCi1mdW5jdGlv
biBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBzdGF0ZW1lbnRUeXBlKQotewotICAg
IGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2VlZGVk
Iik7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2soZGJOYW1lLCBzdGF0ZW1l
bnRUeXBlLCBlcnJvcikKLXsKLSAgICBsb2coZGJOYW1lICsgIiAiICsgc3RhdGVtZW50VHlwZSAr
ICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotfQotCi0vLyBSdW5zIGEg
dHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCi1mdW5jdGlvbiBydW5UcmFuc2FjdGlv
bihkYiwgZGJOYW1lLCB2YWwpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
LSAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRlbWVudAotICAgICAgIHR4LmV4ZWN1
dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgW10sCi0gICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKGRiTmFtZSwg
InJlYWQiKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBz
dGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQiLCBlcnJvcik7IH0pOwotCi0gICAg
ICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBtYWtlIHN1cmUgU1FMaXRlIHRyaWVz
IHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhlIERCIGZpbGUKLSAgICAgICB0eC5l
eGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPyk7IiwgW3ZhbF0sCi0gICAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNr
KGRiTmFtZSwgIndyaXRlIik7IH0sCi0gICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwg
ZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUsICJ3cml0ZSIsIGVycm9yKTsg
fSk7Ci0gICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgLy8gVHJhbnNhY3Rp
b24gZmFpbHVyZSBjYWxsYmFjawotICAgICAgICAgICBsb2coZGJOYW1lICsgIiB0cmFuc2FjdGlv
biBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgY2hlY2tDb21wbGV0aW9u
KCk7Ci0gICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgIC8vIFRyYW5zYWN0aW9uIHN1
Y2Nlc3MgY2FsbGJhY2sKLSAgICAgICAgICAgbG9nKGRiTmFtZSArICIgdHJhbnNhY3Rpb24gc3Vj
Y2VlZGVkIik7Ci0gICAgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgICAgIH0pOwotfQot
Ci0vLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBUZXN0IHRhYmxlIGV4aXN0cyBiZWZv
cmUgd2UgcnVuIG91ciB0ZXN0LgotLy8gVGhlcmVmb3JlLCB0aGUgdGVzdCBjb2RlIGlzIGluIHRo
ZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9uIHRoYXQgY3JlYXRlcyB0aGUgdGFi
bGUuCi1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHRyeSB7Ci0gICAgICAgIHZhciBkYiA9IG9w
ZW5UZXN0RGF0YWJhc2UoKTsKLSAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
LSAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5vdCBleGlz
dAotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg
VGVzdCAoRm9vIGludCk7IiwgW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOwotICAgICAgICAgICAgfSwgZnVu
Y3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW5nIHRoZSBUZXN0IHRh
YmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgfSwgZnVuY3Rpb24o
KSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFibGUgd2FzIGNyZWF0ZWQgc3VjY2Vz
c2Z1bGx5Ci0gICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAg
ICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgICAgICAgICAg
ICAgIGlmIChkYjEgPT0gZGIyKQotICAgICAgICAgICAgICAgICAgICBsb2coImZhaWx1cmU6IGRi
MSA9PSBkYjIiKTsKLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAg
cnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHJ1blRy
YW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IH0pOwotICAgIH0gY2F0Y2goZXJyKSB7fQotfQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L211bHRpcGxlLXRyYW5zYWN0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAzNTk3NDQwMTM5NmVmZGM4NzUzYTYwZmIzZTk0ODEyNDI4NTAzNGNkLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08
aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMi
Pjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Ci08aGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KLVRoaXMgaXMg
YSB0ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0cmFuc2Fj
dGlvbnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6PGJyPgotPHBy
ZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+IAotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10
cmFuc2FjdGlvbnMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9u
cy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVjZGFiY2RiZGQ2NGMzYjRhMWRk
NjNmMzUzMTU4Njk2MmNhZDYxOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLXZhciBjb21wbGV0ZSA9IDA7Ci0KLWZ1bmN0
aW9uIGNoZWNrQ29tcGxldGlvbigpCi17Ci0gICAgaWYgKCsrY29tcGxldGUgPT0gMiAmJiB3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGRiID0gb3Bl
bkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVUcmFuc2FjdGlvbnNUZXN0IiwgIjEuMCIsICJU
ZXN0IHRvIG1ha2Ugc3VyZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHF1ZXVlZCBhdCBv
bmNlIGZvciBhbiBIVE1MNSBkYXRhYmFzZSIsIDMyNzY4KTsKLQotICAgIGRiLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBTdGFydGVkIik7Ci0g
ICAgfSwgZnVuY3Rpb24oZXJyKSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBFcnJvcmVk
IC0gIiArIGVycik7Ci0gICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0sIGZ1bmN0aW9u
KCkgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkIik7Ci0gICAgICAgIGNo
ZWNrQ29tcGxldGlvbigpOwotICAgIH0pOwotCi0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIFN0YXJ0ZWQiKTsKLSAgICB9LCBmdW5j
dGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIEVycm9yZWQgLSAiICsgZXJy
KTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdWNjZWVkZWQiKTsKLSAgICAgICAgY2hlY2tDb21wbGV0
aW9uKCk7Ci0gICAgfSk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL251bGwt
Y2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFj
a3MtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzExNjc1MTA2
ZDgxNjk5MTExNGFkOTFjNjYzODBjMjdjMzdkM2E2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3Mt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3QgY2hl
Y2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVjdCBhbiBvcHRpb25h
bCBjYWxsYmFjay4KLVBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1j
YWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3MuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNhMGUxYzNmZmJjZDMzNjYxMGRmYTM3YTU4
NzY5ZjAyYzQ4Njk2ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw0NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGZp
bmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gcnVu
VGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIgZGIg
PSBvcGVuRGF0YWJhc2UoIk51bGxDYWxsYmFja3MiLCAiMS4wIiwgIlRlc3QgZm9yIG51bGwgY2Fs
bGJhY2tzLiIsIDEpOwotICAgICAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAg
ICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAo
Rm9vIElOVCkiLCBudWxsKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRP
IFRlc3QgVkFMVUVTICg/KSIsIFsxXSwgbnVsbCwgbnVsbCk7Ci0gICAgICAgICAgICB0eC5leGVj
dXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPykiLCBbMl0sIG51bGwpOwotICAgICAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDMpIiwgbnVsbCwg
bnVsbCwgbnVsbCk7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0
IFZBTFVFUyAoPykiLCBbNF0sIG51bGwsCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVy
cm9yKSB7fSk7Ci0gICAgICAgIH0sIG51bGwsIG51bGwpOwotCi0gICAgICAgIGRiLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5U
TyBUZXN0IFZBTFVFUyAoPykiLCBbNV0pOwotICAgICAgICB9LCBudWxsLCBmdW5jdGlvbigpIHsg
ZmluaXNoVGVzdCgpOyB9KTsKLSAgICB9IGNhdGNoKGVycikgewotICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCA9ICJGQUlMIjsKLSAgICAgICAgZmlu
aXNoVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KLVRoaXMgdGVzdCBjaGVja3MgdGhhdCAnbnVsbCcgY2FuIGJlIHVzZWQg
d2hlcmV2ZXIgd2UgZXhwZWN0IGFuIG9wdGlvbmFsIGNhbGxiYWNrLgotPHByZSBpZD0iY29uc29s
ZSI+UEFTUzwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJmM2ZjYjZiYWRkYTEzMDUx
NTI4OTZlNDhhMmExMDUzM2QyY2IxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24t
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlLCB2ZXJzaW9uIG1pc21hdGNoLCAn
MS4wJyBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKLVRoaXMgdGVzdCB0
ZXN0cyBvcGVuRGF0YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgotCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNl
LWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZmE5NmE2NzU0ZDhkZjU3NDAwY2U0NmM5ZGNjYTIzZTVjNDI3
NTg0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQt
d29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1BTEVSVDog
dW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNh
bGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSBv
cGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdv
cmxkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3Jl
YXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
b3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGE0NjY0YmUyMGZmZmM1YmQ4OTk5ZWY0NDg3YmZh
YjBlZjVjYjQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIG9wZW5EYXRh
YmFzZSgpIGNyZWF0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi08
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgY3JlYXRpb25DYWxsYmFja3NF
eGVjdXRlZCA9IDA7Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrY3JlYXRpb25DYWxs
YmFja3NFeGVjdXRlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBj
cmVhdGlvbkNhbGxiYWNrMShkYikKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29s
YXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0aW9uQ2FsbGJh
Y2syKGRiKQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKLSAgICBkb25lKCk7Ci19
Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUg
aW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50
LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsK
LQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKLSAg
ICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKVxuIiArCi0g
ICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4i
ICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIg
KwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdPcGVu
RGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZCcsICcxLjAnLCAnJywgMSwgY3Jl
YXRpb25DYWxsYmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnT3BlbkRh
dGFiYXNlQ3JlYXRpb25DYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxLCBjcmVh
dGlvbkNhbGxiYWNrMik7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNr
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MTY0NWM0NWVlNzRkNGI2MWFh
MDE5ODAzNGE5NGE4ZDRhN2UzNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNh
bGxiYWNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0K
LWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQot
ZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDMyNzY4KTsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERhdGFiYXNlQ2FsbGJhY2tzKCk7Ci0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIHZhciB0cmFuc2FjdGlv
bnNSdW4gPSAwOwotCi0gICAgLy8gT3BlbiBhIG5ldyBkYXRhYmFzZSB3aXRoIGEgY3JlYXRpb24g
Y2FsbGJhY2ssIGFuZCBtYWtlIHN1cmUgdGhlIGNyZWF0aW9uIGNhbGxiYWNrIGlzIHF1ZXVlZAot
ICAgIHZhciBjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSA9IGZhbHNlOwotICAgIHZhciBkYjFOYW1l
ID0gIk9wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2sxIiArIChuZXcgRGF0ZSgpKS5nZXRUaW1l
KCk7Ci0gICAgdmFyIGRiMSA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihkYikgewotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxID0gdHJ1ZTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGIudmVyc2lvbiAhPSAiIikgewotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW9uIGNhbGxiYWNrIHdhcyBjYWxs
ZWQgd2l0aCBhIGRhdGFiYXNlIHdpdGggdmVyc2lvbiAiICsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRiLnZlcnNpb24gKyAiOyBlbXB0eSBzdHJpbmcgZXhwZWN0ZWQu
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICB9KTsKLQotICAgIC8vIFB1dHRpbmcgdGhpcyBjb2RlIGluc2lkZSBhIHRyYW5zYWN0aW9uIG9u
ICdkYjEnIG1ha2VzIHN1cmUgdGhhdCBpdCBpcyBleGVjdXRlZCBhZnRlcgotICAgIC8vIHRoZSBj
cmVhdGlvbiBjYWxsYmFjayBpcy4KLSAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
LSAgICAgICAgaWYgKCFjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSkgewotICAgICAgICAgICAgbG9n
KCJDcmVhdGlvbiBjYWxsYmFjayBmb3IgZGIxIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAgICAg
ICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlmICgrK3RyYW5zYWN0aW9uc1J1
biA9PSAyKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwotCi0gICAgLy8gVHJ5
IHRvIG9wZW4gYW5vdGhlciBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UuCi0gICAgLy8gU2lu
Y2UgdGhlIHZlcnNpb24gb2YgdGhpcyBkYXRhYmFzZSBpcyAiIiAoZW1wdHkgc3RyaW5nKSwgb3Bl
bkRhdGFiYXNlKCkgc2hvdWxkIHJldHVybgotICAgIC8vIGEgbnVsbCBoYW5kbGUgYW5kIHRocm93
IGEgSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uLgotICAgIHZhciBkYjFGYWlsID0gbnVsbDsK
LSAgICB0cnkgewotICAgICAgICBkYjFGYWlsID0gb3BlbkRhdGFiYXNlKGRiMU5hbWUsICIxLjAi
LCAiIiwgMSk7Ci0gICAgICAgIGxvZygiVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBoYXZlIGJl
ZW4gZXhlY3V0ZWQ7IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBzaG91bGQndmUgYmVl
biB0aHJvd24uIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGNhdGNoKGVycikgewot
ICAgICAgICBpZiAoZGIxRmFpbCkgewotICAgICAgICAgICAgbG9nKCJkYjFGYWlsIHNob3VsZCBo
YXZlIGJlZW4gbnVsbC4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIC8vIE9wZW4gYSBoYW5kbGUgdG8gYW5vdGhlciBkYXRhYmFzZSwgZmlyc3Qg
d2l0aG91dCBhIGNyZWF0aW9uIGNhbGxiYWNrLCB0aGVuIHdpdGggb25lLgotICAgIC8vIE1ha2Ug
c3VyZSB0aGUgY3JlYXRpb24gY2FsbGJhY2sgaXMgbm90IGNhbGxlZC4KLSAgICB2YXIgY3JlYXRp
b25DYWxsYmFja0NhbGxlZDIgPSBmYWxzZTsKLSAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCJP
cGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAiIiwgMSk7Ci0gICAgZGIyID0g
b3BlbkRhdGFiYXNlKCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAiIiwg
MSwKLSAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZGIpIHsgY3JlYXRpb25DYWxsYmFj
a0NhbGxlZDIgPSB0cnVlOyB9KTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
LSAgICAgICAgaWYgKGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyKSB7Ci0gICAgICAgICAgICBsb2co
IkNyZWF0aW9uIGNhbGxiYWNrIGZvciBkYjIgc2hvdWxkIG5vdCBoYXZlIGJlZW4gY2FsbGVkLiIp
OwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlmICgrK3Ry
YW5zYWN0aW9uc1J1biA9PSAyKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwot
fQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhp
cyB0ZXN0IHRlc3RzIG9wZW5EYXRhYmFzZSgpJ3MgY3JlYXRpb24gY2FsbGJhY2suCi08cHJlIGlk
PSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZTJmZmMzMGQ0YTQ2NWJkZGVi
Yzk5YmYwMzY3OTU5OWVmOThmZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNp
b24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3Rz
IHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmluZyBk
b2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgotU1VDQ0VTUyEgRGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29w
ZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVu
LWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNDYwNDExMzgzZjE4Y2Y4MGM5YzRhZDgzOGY3MTU0OWI2OWM2Njc2Yy4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29w
ZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAs
MCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBydW5UZXN0KCkgewotICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgCi0gICAgdHJ5IHsgICAgCi0gICAgICAgIHZhciBk
YiA9IG9wZW5EYXRhYmFzZSgnNTU2MjQ3MFRlc3QnLCAnJywgJ1Rlc3QgZm9yIDxyZGFyOi8vcHJv
YmxlbS81NTYyNDcwPiBvcGVuRGF0YWJhc2UgZG9lcyBub3Qgd29yayB3aGVuIHRoZSB2ZXJzaW9u
IHN0cmluZyBpcyBlbXB0eScsIDEpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdGQUlMVVJFJwotICAgIH0K
LX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPGRpdj5U
aGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9u
IHN0cmluZyBkb2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgotPGRpdiBp
ZD0icmVzdWx0Ij4KLVNVQ0NFU1MhIERpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLgotPC9kaXY+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4t
ZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29w
ZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFhZThkYjZiMzcuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0
aCBhIHNpemUgb3ZlciA1TUIgZG9lc24ndCBhc3NlcnQgb24gZGVidWcgYnVpbGRzLgotUEFTUwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhOTI2NGRlMzNkZjExNzQ0OWI0YzNlNTNh
NjdjZmVmOTY0NDFiZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0Pgot
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICB9Ci0KLSAgICB0
cnkgewotICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4nLCAnJywg
J1Rlc3QgZm9yIGJ1ZyAzNjQ3MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNyZWF0aW5n
RGF0YWJhc2UnLCAxMDAwMDAwMCk7Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKLSAgICB9Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxkaXY+VGhp
cyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRv
ZXNuJ3QgYXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KLTxkaXYgaWQ9InJlc3VsdCI+Ci1GQUlMOiBX
ZSBzaG91bGRuJ3QgaGF2ZSBiZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCi08L2Rpdj4K
LTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1k
YXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWQ5OTYwMzQ0Y2Y1MDg0MmY3ZmU5NThlZTdjNmRlMjc2
NGIyZGY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogdW5h
YmxlIHRvIG9wZW4gZGF0YWJhc2UsIHZlcnNpb24gbWlzbWF0Y2gsICd0ZXN0JyBkb2VzIG5vdCBt
YXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKLVRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9w
ZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIHNldHMgdGhlIGN1cnJlbnQg
dmVyc2lvbiBvZiB0aGF0IGRhdGFiYXNlIHRvIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1YnNlcXVl
bnQgYXR0ZW1wdHMgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBleHBlY3Rl
ZCB2ZXJzaW9uIHRocm93IGFuIGV4Y2VwdGlvbi4KLVNVQ0NFU1MsIGFuIGV4Y2VwdGlvbiB3YXMg
dGhyb3duLiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lv
bi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJz
aW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzNjA3ZmQxOWM5ZDc4NTFk
MmEwZWZhNDNlMzUwNDBhYzk5ZWRmNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0
eS12ZXJzaW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7
Ci0gICAgfQotICAgIAotICAgIHRyeSB7ICAgIAotICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJh
c2UoJzI4NDE3VGVzdCcsICcnLCAnVGVzdCBmb3IgYnVnIDI4NDE3OiBvcGVuRGF0YWJhc2UoKSB3
aXRoIGVtcHR5IHZlcnNpb24gc2V0cyBkYiB2ZXJzaW9uIHVwIGluY29ycmVjdGx5JywgMCk7Ci0g
ICAgICAgIC8vIFRoZSBuZXh0IG9wZW5EYXRhYmFzZSBjYWxsIHNob3VsZCBmYWlsIGJlY2F1c2Ug
dGhlIGRhdGFiYXNlIHZlcnNpb24gd2FzIHNldCB0byAnJyBieSB0aGUgY2FsbCBhYm92ZSwgYW5k
IG5vdyB3ZSBhcmUgZXhwZWN0aW5nIGEgZGlmZmVyZW50IHZlcnNpb24uCi0gICAgICAgIHZhciBk
YjIgPSBvcGVuRGF0YWJhc2UoJzI4NDE3VGVzdCcsICd0ZXN0JywgJ1Rlc3QgZm9yIGJ1ZyAyODQx
Nzogb3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVyc2lvbiB1cCBp
bmNvcnJlY3RseScsIDApOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdTVUNDRVNTLCBhbiBleGNlcHRpb24g
d2FzIHRocm93bi4gJyArIGU7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRh
YmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIHNldHMgdGhlIGN1cnJlbnQgdmVyc2lv
biBvZiB0aGF0IGRhdGFiYXNlIHRvIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1YnNlcXVlbnQgYXR0
ZW1wdHMgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBleHBlY3RlZCB2ZXJz
aW9uIHRocm93IGFuIGV4Y2VwdGlvbi48L2Rpdj4KLTxkaXYgaWQ9InJlc3VsdCI+Ci1GQUlMVVJF
IC0gYW4gZXhjZXB0aW9uIHdhcyBleHBlY3RlZC4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5z
YWN0aW9uLWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Bl
bi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjYWM4YWZjZWJlMTFkNjEwN2VlOGQ4ZTc2ODQx
YjM1NmFiZTAzNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWlu
LXByb2dyZXNzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGhp
cyBpcyBhIHRlc3QgdG8gc2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5zYWN0
aW9uIGlzIHJ1bm5pbmcgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNl
IHJlc3VsdHMgaW4gYSBkZWFkbG9jay4KLW9wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4KLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0
aW9uLWluLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
d2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNzA3YTFhNDVjOWMyMzQ5NTRiZTJlMDA5N2U5MDc5YjY1NDc3MWNjMC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ib3Bl
bi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIGlzIGEgdGVz
dCB0byBzZWUgaWYgb3BlbmluZyBhIGRhdGFiYXNlIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMgcnVu
bmluZyBvbiBhIGRpZmZlcmVudCBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcmVzdWx0cyBp
biBhIGRlYWRsb2NrLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVzdCBkaWRu
J3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4t
cHJvZ3Jlc3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMWEwYzAxNGUyMzY1
OTBlNzY0NDBhN2E0N2EwNGQwMTY0Y2EzYzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxl
LXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBA
QAotLy8gT3BlbnMgdGhlIGRhdGFiYXNlIHVzZWQgaW4gdGhpcyB0ZXN0IGNhc2UKLWZ1bmN0aW9u
IG9wZW5UZXN0RGF0YWJhc2UoKQotewotICAgIHJldHVybiBvcGVuRGF0YWJhc2VXaXRoU3VmZml4
KCJPcGVuRGF0YWJhc2VXaGlsZVRyYW5zYWN0aW9uSW5Qcm9ncmVzc1Rlc3QiLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlKCkg
d2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBpbiBwcm9ncmVzcyBvbiBhIGRpZmZlcmVudCBoYW5kbGUg
dG8gdGhlIHNhbWUgZGF0YWJhc2UgZG9lcyBub3QgcmVzdWx0IGluIGEgZGVhZGxvY2suIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMTAwMDAwKTsgLy8gMk1CICsgZXBzaWxv
bgotfQotCi0vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4
MjA3Ci0vLyBJbiBvcmRlciB0byB0cmlnZ2VyIHRoaXMgYnVnLCB0aGUgdHJhbnNhY3Rpb24gbXVz
dCBhY3F1aXJlIGFuIGV4Y2x1c2l2ZQotLy8gbG9jayBvbiB0aGUgREIgZmlsZSBiZWZvcmUgdHJ5
aW5nIHRvIG9idGFpbiBhIHNlY29uZCBoYW5kbGUgdG8gdGhlIHNhbWUgREIuCi0vLyBUaGUgb25s
eSB3YXkgdG8gZm9yY2UgU1FMaXRlIHRvIG9idGFpbiBhbiBleGNsdXNpdmUgbG9jayBpcyB0byBj
aGFuZ2UgbW9yZQotLy8gdGhhbiBjYWNoZV9zaXplICogcGFnZV9zaXplIGJ5dGVzIGluIHRoZSBk
YXRhYmFzZS4gVGhlIGRlZmF1bHQgdmFsdWUgZm9yCi0vLyBjYWNoZV9zaXplIGlzIDIwMDAgcGFn
ZXMsIGFuZCB0aGUgZGVmYXVsdCBwYWdlX3NpemUgaXMgMTAyNCBieXRlcy4gU28gdGhlCi0vLyBz
aXplIG9mIHRoZSBibG9iIG11c3QgYmUgYXQgbGVhc3QgMk1CLgotZnVuY3Rpb24gcnVuVGVzdCgp
Ci17Ci0gICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICBkYjEudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgLy8gQ3JlYXRlIHRoZSBUZXN0IHRhYmxlIGlmIGl0
IGRvZXMgbm90IGV4aXN0Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBO
T1QgRVhJU1RTIFRlc3QgKEZvbyBCTE9CKTsiKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gVGVzdCBWQUxVRVMgKFpFUk9CTE9CKDIwOTcxNTIpKTsiLCBbXSwKLSAgICAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgbG9nKCJvcGVuRGF0YWJhc2UoKSBzdWNjZWVkZWQuIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgbG9nKCJFeGVjdXRpbmcgc3RhdGVtZW50IGZhaWxlZDogIiAr
IGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgIC8v
IENsZWFuIHVwIHRoZSBEQiB0byBhbGxvdyBmb3IgcmVwZWF0ZWQgcnVucyBvZiB0aGlzIHRlc3QK
LSAgICAgICAgLy8gd2l0aG91dCBuZWVkaW5nIHRvIGluY3JlYXNlIHRoZSBkZWZhdWx0IGFsbG93
ZWQgcXVvdGEgKDVNQikKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiREVMRVRFIEZST00gVGVzdDsi
KTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9uIGZh
aWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxZjY3ZDJmYWM0ZjI2ZTZm
MmQ3MjgwMDY4ODBkMmY1ZmY1MzI5MDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVh
ZC1ub3dyaXRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBk
dXJpbmcgcHJpdmF0ZSBicm93c2luZyBmYWlsLgotU2V0dXAgc3RhdGVtZW50IDEgY29tcGxldGVk
IHN1Y2Nlc3NmdWxseQotU2V0dXAgc3RhdGVtZW50IDIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQot
UHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgotY291
bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotUHJpdmF0ZSBicm93
c2luZyBzdGF0ZW1lbnQgMiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgotY291bGQgbm90IHByZXBh
cmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVByaXZhdGUgYnJvd3Npbmcgc3RhdGVt
ZW50IDMgY29tcGxldGVkIHdpdGggYW4gZXJyb3IKLWNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCi1Qcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA0IGNvbXBs
ZXRlZCB3aXRoIGFuIGVycm9yCi1jb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQotUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgNSBjb21wbGV0ZWQgd2l0aCBh
biBlcnJvcgotY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBhY2Nlc3MgdG8gUHJpdmF0
ZVRlc3QxLnJhbmRvbURhdGEgaXMgcHJvaGliaXRlZCkKLVRlc3QgZW5kZWQKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjliNTg4MmI0ZGUxYzU2MjA2NGM1
ZTg0NzcwMTA2OTc5YTAxZmMxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5v
d3JpdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdD4KLQotZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdl
ICsgIlxuIjsKLX0KLQotdmFyIHNldHVwU3RhdGVtZW50cyA9IFsKLSAgICAiQ1JFQVRFIFRBQkxF
IElGIE5PVCBFWElTVFMgUHJpdmF0ZVRlc3QxIChyYW5kb21EYXRhKSIsCi0gICAgIklOU0VSVCBJ
TlRPIFByaXZhdGVUZXN0MSBWQUxVRVMgKCdzb21lZGF0YScpIgotXTsKLQotdmFyIHByaXZhdGVC
cm93c2luZ1N0YXRlbWVudHMgPSBbCi0gICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFBy
aXZhdGVUZXN0MiAocmFuZG9tRGF0YSkiLAotICAgICJERUxFVEUgRlJPTSBQcml2YXRlVGVzdDEi
LAotICAgICJEUk9QIFRBQkxFIFByaXZhdGVUZXN0MSIsCi0gICAgIklOU0VSVCBJTlRPIFByaXZh
dGVUZXN0MSBWQUxVRVMgKCdzb21lZGF0YScpIiwKLSAgICAiU0VMRUNUICogRlJPTSBQcml2YXRl
VGVzdDEiCi1dOwotCi12YXIgY29tcGxldGVkID0gMDsKLXZhciB0aGVUcmFuc2FjdGlvbjsKLQot
ZnVuY3Rpb24gc2V0dXBTdWNjZXNzRnVuY3Rpb24odHgsIHJlc3VsdCkKLXsKLSAgICArK2NvbXBs
ZXRlZDsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygiU2V0dXAgc3RhdGVtZW50ICIgKyBjb21wbGV0
ZWQgKyAiIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKLSAgICBjaGVja1NldHVwQ29tcGxldGUo
KTsKLX0KLQotZnVuY3Rpb24gc2V0dXBFcnJvckZ1bmN0aW9uKHR4LCBlcnJvcikKLXsKLSAgICAr
K2NvbXBsZXRlZDsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygiU2V0dXAgc3RhdGVtZW50ICIgKyBj
b21wbGV0ZWQgKyAiIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2FnZSk7
Ci0gICAgY2hlY2tTZXR1cENvbXBsZXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIHByaXZhdGVCcm93c2lu
Z1N1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQotewotICAgICsrY29tcGxldGVkOwotICAgIHdy
aXRlTWVzc2FnZVRvTG9nKCJQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAiICsgY29tcGxldGVk
ICsgIiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Iik7Ci19Ci0KLWZ1bmN0aW9uIHByaXZhdGVCcm93
c2luZ0Vycm9yRnVuY3Rpb24odHgsIGVycm9yKQotewotICAgICsrY29tcGxldGVkOwotICAgIHdy
aXRlTWVzc2FnZVRvTG9nKCJQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAiICsgY29tcGxldGVk
ICsgIiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvclxuIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gcnVuU2V0dXAodHJhbnNhY3Rpb24pCi17Ci0gICAg
dGhlVHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjsKLSAgICBmb3IgKGkgaW4gc2V0dXBTdGF0ZW1l
bnRzKQotICAgICAgICB0aGVUcmFuc2FjdGlvbi5leGVjdXRlU3FsKHNldHVwU3RhdGVtZW50c1tp
XSwgW10sIHNldHVwU3VjY2Vzc0Z1bmN0aW9uLCBzZXR1cEVycm9yRnVuY3Rpb24pOwotfQotCi1m
dW5jdGlvbiBjaGVja1NldHVwQ29tcGxldGUoKQotewotICAgIGlmIChjb21wbGV0ZWQgPT0gc2V0
dXBTdGF0ZW1lbnRzLmxlbmd0aCkKLSAgICAgICAgcnVuUHJpdmF0ZUJyb3dzaW5nVGVzdHMoKTsK
LX0KLQotZnVuY3Rpb24gcnVuUHJpdmF0ZUJyb3dzaW5nVGVzdHMoKQotewotICAgIGNvbXBsZXRl
ZCA9IDA7Ci0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwotICAg
IAotICAgIGZvciAoaSBpbiBwcml2YXRlQnJvd3NpbmdTdGF0ZW1lbnRzKQotICAgICAgICB0aGVU
cmFuc2FjdGlvbi5leGVjdXRlU3FsKHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHNbaV0sIFtdLCBw
cml2YXRlQnJvd3NpbmdTdWNjZXNzRnVuY3Rpb24sIHByaXZhdGVCcm93c2luZ0Vycm9yRnVuY3Rp
b24pOwotfQotCi1mdW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygi
VGVzdCBlbmRlZCIpOwotICAgIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rp
b24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB2YXIgZGF0YWJh
c2UgPSBvcGVuRGF0YWJhc2UoIlByaXZhdGVCcm93c2luZ05vUmVhZE5vV3JpdGVUZXN0IiwgIjEu
MCIsICJUZXN0IHByaXZhdGUgYnJvd3Npbmcgbm8gcmVhZC93cml0ZSBzYWZldHkiLCAxKTsKLSAg
ICBkYXRhYmFzZS50cmFuc2FjdGlvbihydW5TZXR1cCwgZW5kVGVzdCwgZW5kVGVzdCk7Ci19Ci0K
LTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KLVRoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBkdXJpbmcg
cHJpdmF0ZSBicm93c2luZyBmYWlsLjxicj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10cmFj
a2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ4NjBmMGMwNGRkNzU2
ZmM4ZDQ3NGIzNzliZTNhNWZjN2Y3Y2U4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVVJIERFTEVHQVRFIERBVEFC
QVNFIENBTExCQUNLOiBleGNlZWRlZERhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbjp7Zmls
ZSwgLCAwfSBkYXRhYmFzZTpRdW90YU1hbmFnZW1lbnREYXRhYmFzZTIKLVRoaXMgdGVzdCBjaGVj
a3MgdG8gbWFrZSBzdXJlIHRoYXQgcXVvdGFzIGFyZSBlbmZvcmNlZCBwZXItb3JpZ2luIGluc3Rl
YWQgb2YgcGVyLWRhdGFiYXNlLCBhcyB0aGV5IHdlcmUgcHJpb3IgdG8gaHR0cDovL3RyYWMud2Vi
a2l0Lm9yZy9wcm9qZWN0cy93ZWJraXQvY2hhbmdlc2V0LzI5OTgzLgotVGhlIHRlc3QgY2xlYXJz
IGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywgdGhl
biB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0aGlu
Z3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBVSSBE
ZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBzaG91
bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBvZiBk
YXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotQWRkaW5nIGEgdGFibGUK
LUluc2VydGluZyBzb21lIGRhdGEKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxlCi1J
bnNlcnRpbmcgc29tZSBkYXRhCi1FeHBlY3RlZCBxdW90YSBleGNlcHRpb24gLSB0aGVyZSB3YXMg
bm90IGVub3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0b3JhZ2UgcXVvdGEg
d2FzIHJlYWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1vcmUgc3BhY2UKLURv
bmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxlCi1JbnNlcnRpbmcgc29tZSBkYXRhCi1Eb25l
IGFkZGluZyBkYXRhCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvcXVvdGEtdHJhY2tpbmcuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJh
Y2tpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU1MjUyM2IxNjNmMDU0
NTU4OGE4OGViMTMxMGJkZmQ4YzY2MjNhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+
Ci12YXIgZGF0YWJhc2UxID0gbnVsbDsKLXZhciBkYXRhYmFzZTIgPSBudWxsOwotdmFyIGRhdGFi
YXNlMyA9IG51bGw7Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19
Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygiVGVzdCBDb21wbGV0ZSIpOwot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JGdW5j
dGlvbih0eCwgZXJyb3IpCi17Ci0gICAgbG9nKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAtICIgKyBl
cnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRyYW5zYWN0
aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJyb3IpCi17Ci0gICAgLy8gV2Ugb25seSBleHBlY3QgYW4g
ZXJyb3IgbWVzc2FnZSBmb3IgZGF0YWJhc2UyCi0gICAgaWYgKGRiID09IGRhdGFiYXNlMikgewot
ICAgICAgICBsb2coIkV4cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdl
KTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKLSAgICB9IGVsc2UgewotICAgICAgICBs
b2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICBm
aW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oZGIpCi17
Ci0gICAgbG9nKCJEb25lIGFkZGluZyBkYXRhIik7Ci0KLSAgICBpZiAoZGF0YWJhc2UzKSB7Ci0g
ICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UgaWYgKGRhdGFiYXNlMikgewotICAgICAg
ICBkYXRhYmFzZTMgPSBvcGVuRGF0YWJhc2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMyIsICIx
LjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7Ci0g
ICAgICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTMpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGRh
dGFiYXNlMiA9IG9wZW5EYXRhYmFzZSgiUXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyIiwgIjEuMCIs
ICJUZXN0IGZvciBxdW90YSBtYW5hZ2VtZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKLSAgICAg
ICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMik7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBhZGREYXRh
KGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygi
SW5zZXJ0aW5nIHNvbWUgZGF0YSIpOwotICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5U
TyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFMVUVTIChaRVJPQkxPQigxNzQwOCkpIiwgW10sCi0g
ICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1lbnRF
cnJvckZ1bmN0aW9uKTsKLSAgICAgICAgaWYgKGRiID09IGRhdGFiYXNlMikgewotICAgICAgICAg
ICAgLy8gVHJ5IHRvIHJ1biB0aGlzIHN0YXRlbWVudCBvbiAnZGF0YWJhc2UyJyBvbmx5LgotICAg
ICAgICAgICAgLy8gSXQgc2hvdWxkIG5vdCBiZSBydW4sIGJlY2F1c2UgdGhlIHByZXZpb3VzIHN0
YXRlbWVudCBzaG91bGQndmUKLSAgICAgICAgICAgIC8vIHJlc3VsdGVkIGluIGEgZmFpbHVyZSB0
aGF0IG1hZGUgc3FsaXRlIHJvbGwgYmFjayB0aGUgZW50aXJlIHRyYW5zYWN0aW9uLgotICAgICAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHJhbmRvbURhdGEpIFZB
TFVFUyAoWkVST0JMT0IoMTApKSIsIFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5j
dGlvbih0eCwgcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIlRo
aXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIHJ1bi4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7Ci0gICAgICAgIH0KLSAgICB9LCBmdW5jdGlvbihl
cnJvcikgewotICAgICAgICB0cmFuc2FjdGlvbkVycm9yRnVuY3Rpb24oZGIsIGVycm9yKTsKLSAg
ICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKLSAgICB9KTsK
LX0KLQotZnVuY3Rpb24gdGVzdERhdGFiYXNlKGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiQWRkaW5nIGEgdGFibGUiKTsKLSAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLAotICAg
ICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgfSwgc3RhdGVtZW50RXJy
b3JGdW5jdGlvbik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgdHJhbnNhY3Rp
b25FcnJvckZ1bmN0aW9uKGRiLCBlcnJvcik7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAg
IGFkZERhdGEoZGIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5z
ZXREYXRhYmFzZVF1b3RhKDQwOTYwKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
Ci0gICAgfQotCi0gICAgZGF0YWJhc2UxID0gb3BlbkRhdGFiYXNlKCJRdW90YU1hbmFnZW1lbnRE
YXRhYmFzZTEiLCAiMS4wIiwgIlRlc3QgZm9yIHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81NjI4
NDY4PiIsIDEpOwotICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTEpOwotfQotCi08L3NjcmlwdD4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNoZWNrcyB0
byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBv
ZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQu
b3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMuPGJyPgotVGhlIHRlc3QgY2xlYXJz
IGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywgdGhl
biB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0aGlu
Z3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBVSSBE
ZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBzaG91
bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBvZiBk
YXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotPHByZSBpZD0iY29uc29s
ZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlv
bnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjYzg5NzljM2NiNTA3ZDkyMDAwNTc3ZjhmZmNjNzcwNDdmMjE1N2Q5Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGF0
IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUg
c2FtZSBkYXRhYmFzZSBkb24ndCBydW4gdG9nZXRoZXIuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVs
LgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFu
c2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9u
IHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vz
c2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0
aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLWFu
ZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMTFkYTM1Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBmOGZjOTg1
Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhl
ci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSJyZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgot
VGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZl
cmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvbid0IHJ1biB0b2dldGhlci48YnI+
Ci08cHJlIGlkPSJjb25zb2xlIj4KLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KLTwvcHJlPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLWFu
ZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuanMgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWI4MTdiYWQzMzA3MzcxZDdhZDE5OWI0MGJm
MTE5YjViMDU2MzdkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250
LXJ1bi10b2dldGhlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLWZ1bmN0aW9u
IHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rp
b24gb3BlblRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZm
aXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9uc0RvbnRSdW5Ub2dldGhlclRlc3QiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5z
YWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2FtZSBEQiBkb24ndCBydW4g
YXQgdGhlIHNhbWUgdGltZS4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMy
NzY4KTsKLX0KLQotdmFyIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID0gMDsKLXZhciB3cml0
ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwotdmFyIHRvdGFsVHJhbnNhY3Rpb25zID0gMDsK
LXZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7Ci0KLWZ1bmN0aW9uIHJ1blRyYW5zYWN0aW9u
KGRiLCByZWFkT25seSkKLXsKLSAgICB2YXIgdHJhbnNhY3Rpb25GdW5jdGlvbiA9IChyZWFkT25s
eSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRiLnRyYW5zYWN0aW9uKTsKLSAgICB0cmFuc2FjdGlv
bkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICBpZiAocmVhZE9u
bHkpIHsKLSAgICAgICAgICAgICAgICBpZiAod3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzICE9
IDApIHsKLSAgICAgICAgICAgICAgICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9uIHN0YXJ0aW5n
IHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGluIHByb2dyZXNzLiIpOwotICAgICAgICAgICAgICAg
ICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAg
ICAgICAgICAgICAgIGlmICgocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgIT0gMCkgfHwgKHdy
aXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAwKSkgewotICAgICAgICAgICAgICAgICAgICBs
b2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIGFub3RoZXIgdHJhbnNhY3Rpb24g
aW4gcHJvZ3Jlc3MuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKLSAg
ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgd3JpdGVUcmFuc2FjdGlvbnNJblByb2dy
ZXNzKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1Qg
KiBGUk9NIFRlc3Q7Iik7Ci0gICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAg
ICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDogIldyaXRlIikgKyAiIHRyYW5zYWN0aW9uIGZhaWxl
ZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAg
ICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucysr
OwotICAgICAgICAgICAgIGlmIChyZWFkT25seSkKLSAgICAgICAgICAgICAgICAgcmVhZFRyYW5z
YWN0aW9uc0luUHJvZ3Jlc3MtLTsKLSAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
IHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwotICAgICAgICAgICAgIGxvZygiVHJhbnNh
Y3Rpb24gc3VjY2Vzc2Z1bC4iKTsKLSAgICAgICAgICAgICBpZiAoKGZpbmlzaGVkVHJhbnNhY3Rp
b25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAmJiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3Mg
PT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKSkKLSAgICAgICAgICAg
ICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuUmVh
ZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpCi17Ci0gICAgdG90YWxUcmFuc2Fj
dGlvbnMgPSAxMDsKLSAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7Ci0gICAgcnVuVHJhbnNh
Y3Rpb24oZGIxLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihkYjIsIHRydWUpOwotICAgIHJ1
blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7
Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihkYjMs
IHRydWUpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0
aW9uKGRiMiwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7Ci0gICAgcnVu
VHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICB2
YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFi
YXNlKCk7Ci0gICAgdmFyIGRiMyA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICBkYjEudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBU
QUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBpbnQpOyIpOwotICAgICAgICB9LCBmdW5jdGlv
bihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJDYW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxl
OiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAg
ICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rp
b25zKGRiMSwgZGIyLCBkYjMpOwotICAgICAgICB9KTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNv
bmN1cnJlbnRseS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY1
OGQyZGZlNmFiYjFhMzE0NTdlYjUxNzllZGY0Y2YwMDA4MWY2ODUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRy
YW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwzICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9ubHkgdHJh
bnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJ1biBj
b25jdXJyZW50bHkuCi1SZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRseS4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5n
LWNvbmN1cnJlbnRseS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9u
cy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiMmQ4NjJjMWU2Y2U4MjRmNDA4ODU4NTg0Yjk1ODcxOWI5NWNjMGJkLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVh
ZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2co
bWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxi
cj4iOwotfQotCi1mdW5jdGlvbiB0ZXJtaW5hdGVUZXN0KCkKLXsKLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Ci19Ci0KLWZ1bmN0aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQotewotICAgIHJldHVybiBv
cGVuRGF0YWJhc2UoIlJlYWRUcmFuc2FjdGlvbnNSdW5uaW5nQ29uY3VycmVudGx5VGVzdCIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICJU
ZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IG11bHRpcGxlIHJlYWQgdHJhbnNhY3Rpb25zIG9uIGRpZmZl
cmVudCBEQiBoYW5kbGVzIHRvIHRoZSBzYW1lIERCIHJ1biBjb25jdXJyZW50bHkuIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKLX0KLQotdmFyIHJlYWRUcmFuc2FjdGlvbnNJblBy
b2dyZXNzID0gMDsKLQotZnVuY3Rpb24gcnVuUmVhZFRyYW5zYWN0aW9uKGRiKQotewotICAgIGRi
LnJlYWRUcmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgcmVhZFRyYW5zYWN0
aW9uc0luUHJvZ3Jlc3MrKzsKLSAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAg
ICAgIGxvZygiUmVhZCB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAg
ICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICBpZiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMikKLSAgICAgICAgICAg
ICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LiIpOwotICAg
ICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKLSAgICAgICAgICAgIGlmIChy
ZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKQotICAgICAgICAgICAgICAgIHRlcm1pbmF0
ZVRlc3QoKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIgZGIxID0gb3BlblRlc3RE
YXRhYmFzZSgpOwotICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgICAg
ICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgICAgICB0eC5leGVj
dXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gaW50KTsiKTsKLSAg
ICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJDYW5u
b3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAg
ICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgcnVuUmVhZFRyYW5zYWN0aW9uKGRiMSk7Ci0gICAgICAgICAgICAgICAgcnVu
UmVhZFRyYW5zYWN0aW9uKGRiMik7Ci0gICAgICAgICAgICB9KTsKLSAgICAgfSBjYXRjaChlcnIp
IHsgbG9nKGVycik7IH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5U
ZXN0KCk7Ij4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9ubHkgdHJhbnNhY3Rpb25z
IG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJ1biBjb25jdXJyZW50
bHkuPGJyPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZXNv
dXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBk
MWViNDEwMmU1MThjZDk5NjVlM2NhMGU0MDEyYjJhNTFkNTFmZTc4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3Vy
Y2VzL2RhdGFiYXNlLWNvbW1vbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLXZh
ciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKLQotZnVuY3Rpb24gb3BlbkRhdGFiYXNlV2l0aFN1
ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwgY2FsbGJhY2spCi17Ci0gICAg
aWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7Ci0gICAgICAgIHJldHVybiBvcGVuRGF0YWJhc2Uo
bmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwgY2FsbGJh
Y2spOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiBvcGVuRGF0YWJhc2UobmFtZSArIERC
X1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSk7Ci0gICAgfQotfQotCi1m
dW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
c29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gc2V0TG9j
YXRpb25IYXNoKGhhc2gpIHsKLSAgICBsb2NhdGlvbi5oYXNoID0gaGFzaDsKLX0KLQotZnVuY3Rp
b24gc2V0dXBBbmRSdW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCA9ICIiOwotICAgIHJ1blRl
c3QoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL2RhdGFi
YXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3Vy
Y2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmUwZjA5Y2VhNzFhNWIzZDU2MGI2ZDI4NzM0N2UxZDAzZjhiYTgwOS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0
aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRl
c3QoKQotewotICAgIGxvZygiVGVzdCBwYXJ0IDIgQ29tcGxldGUiKTsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9yRnVuY3Rpb24oZXJyb3IpCi17Ci0gICAgbG9n
KCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19
Ci0KLWZ1bmN0aW9uIGFkZERhdGEoZGIpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKLSAgICAgICAgbG9nKCJJbnNlcnRpbmcgc29tZSBkYXRhIik7Ci0gICAgICAgIHR4LmV4
ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTICg/KSIsIFsi
QSJdLAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBmdW5jdGlvbih0eCwg
ZXJyb3IpIHsgZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOwotICAgIH0sIGZ1bmN0aW9uKCkgeyB9
LCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgp
Ci17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIgZGF0
YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rlc3QiLCAiMS4wIiwgIlRlc3QgZm9y
IGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKLSAgICAgICAgYWRkRGF0YShkYXRhYmFzZSk7
Ci0gICAgfSBjYXRjaChlKSB7Ci0gICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qgb3BlbiBk
YXRhYmFzZSIpOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi08L3NjcmlwdD4K
LTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+
Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9yZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jl
c291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Yjk5YWYzYzc5NjFmNDI3YTg3YTZlZjdmYWFmMGQxNGIyODliYzcyMi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291
cmNlcy9zdHJlc3MtZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLTwh
ZG9jdHlwZSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci12YXIgZGI7Ci0KLXRyeSB7
Ci0gICAgaWYgKHdpbmRvdy5vcGVuRGF0YWJhc2UpIHsKLSAgICAgICAgZGIgPSBvcGVuRGF0YWJh
c2UoIlN0cmVzc1Rlc3QyIiwgIjEuMCIsICJEYXRhYmFzZSBzdHJlc3MgdGVzdCIsIDIwMDAwMCk7
Ci0gICAgICAgIGlmICghZGIpCi0gICAgICAgICAgICBhbGVydCgiRmFpbGVkIHRvIG9wZW4gdGhl
IGRhdGFiYXNlIG9uIGRpc2suICBUaGlzIGlzIHByb2JhYmx5IGJlY2F1c2UgdGhlIHZlcnNpb24g
d2FzIGJhZCBvciB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGxlZnQgaW4gdGhpcyBkb21haW4n
cyBxdW90YSIpOwotICAgIH0gZWxzZQotICAgICAgICBhbGVydCgiQ291bGRuJ3Qgb3BlbiB0aGUg
ZGF0YWJhc2UuICBQbGVhc2UgdHJ5IHdpdGggYSBXZWJLaXQgbmlnaHRseSB3aXRoIHRoaXMgZmVh
dHVyZSBlbmFibGVkIik7Ci19IGNhdGNoKGVycikgeyB9Ci0KLWZ1bmN0aW9uIGxvYWRlZCgpCi17
Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNx
bCgiU0VMRUNUIENPVU5UKCopIEZST00gV2Via2l0U3RpY2t5Tm90ZXMiLCBbXSwgZnVuY3Rpb24o
cmVzdWx0KSB7Ci0gICAgICAgICAgICBsb2FkTm90ZXMoKTsKLSAgICAgICAgfSwgZnVuY3Rpb24o
dHgsIGVycm9yKSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgV2Vi
S2l0U3RpY2t5Tm90ZXMgKGlkIFJFQUwgVU5JUVVFLCBub3RlIFRFWFQpIiwgW10sIGZ1bmN0aW9u
KHJlc3VsdCkgeyAKLSAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBX
ZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywgPykiLCBbMSwgJ1RleHQnXSwg
ZnVuY3Rpb24ocmVzdWx0KSB7IAotICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJ
TlNFUlQgSU5UTyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywgPykiLCBb
MiwgJ01vcmUgVGV4dCddLCBmdW5jdGlvbihyZXN1bHQpIHsgCi0gICAgICAgICAgICAgICAgICAg
ICAgICBsb2FkTm90ZXMoKTsgCi0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAg
ICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5j
dGlvbiBsb2FkTm90ZXMoKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0g
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBpZCwgbm90ZSBGUk9NIFdlYktpdFN0aWNreU5v
dGVzIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAgIGxvYWROb3Rlcygp
OwotICAgICAgICB9LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsKLSAgICAgICAgICAgIGFsZXJ0KCdG
YWlsZWQgdG8gcmV0cmlldmUgbm90ZXMgZnJvbSBkYXRhYmFzZSAtICcgKyBlcnJvci5tZXNzYWdl
KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWFkZEV2
ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQsIGZhbHNlKTsKLTwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08cD5UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIHdpdGhvdXQgY3Jhc2hlcyBhbmQgYXNz
ZXJ0aW9uIGZhaWx1cmVzIGZvciBhIHdoaWxlLjxwPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjYwY2FmNTIzYjg3MjhlMGM1NjRkNmRhNTlhZGM2ZDI4NmZl
NTJiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDcgKzAsMCBAQAotUEFTUzogcHJvcGVydHkgJ3RpbWVzdGFtcCcgb2ssIHR5cGUgd2Fz
IG51bWJlcgotUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3YXMgbnVtYmVyCi1QQVNTOiBw
cm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgotUEFTUzogcHJvcGVydHkgJ3RleHQn
IG9rLCB0eXBlIHdhcyBzdHJpbmcKLVBBU1M6IHByb3BlcnR5ICdibG9iJyBvaywgdHlwZSB3YXMg
c3RyaW5nCi1QQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9z
cWwtZGF0YS10eXBlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDFjOThm
ODQ0YzA3M2IzOWViM2E2ZDU0NWZhNDAwMzM0NGRhMWI0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlw
ZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzcWwtZGF0YS10eXBlcy5qcyI+PC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwcmUgaWQ9ImNv
bnNvbGUiPjwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0
YS10eXBlcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZmY2QwMTNiNjY3ZmJi
NTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotLy9kZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgdGhlIGphdmFzY3JpcHQgdmFsdWVzIHJldHVybmVkIGJ5IGRhdGFiYXNlIHF1
ZXJpZXMgYXJlIG9mIHNhbWUgdHlwZSBhcyB0aGUgdmFsdWVzIHB1dCBpbnRvIHRoZSBkYXRhYmFz
ZS4iKTsKLQotZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxu
IjsKLX0KLQotZnVuY3Rpb24gbm90aWZ5RG9uZShzdHIpIHsKLSAgICB3cml0ZU1lc3NhZ2VUb0xv
ZyhzdHIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHRlc3RWYWx1ZXMgPSB7
Ci0gICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgiV2VkIEZlYiAwNiAyMDA4IDEyOjE2OjUyIEdNVCsw
MjAwIChFRVQpIikudmFsdWVPZigpLAotICAgIGlkOiAxMDAxLAotICAgIHJlYWw6IDEwMS40NDQs
Ci0gICAgdGV4dDogIldlYktpdCBkYiBURVhUIiwKLSAgICBibG9iOiAic3VwZXJjYWxpZnJhZ2ls
aXN0aWMiCi19OwotCi1mdW5jdGlvbiBzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUocHJvcE5hbWUs
IHRlc3RWYWx1ZSwgcmVzdWx0KSB7Ci0gICAgaWYgKHRlc3RWYWx1ZSA9PSByZXN1bHQgJiYgdHlw
ZW9mIHRlc3RWYWx1ZSA9PSB0eXBlb2YgcmVzdWx0KSB7Ci0gICAgICAgIHdyaXRlTWVzc2FnZVRv
TG9nKCJQQVNTOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgb2ssIHR5cGUgd2FzICIgKyB0
eXBlb2YgcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHdyaXRlTWVz
c2FnZVRvTG9nKCJGQUlMOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgZmFpbGVkLiIKLSAg
ICAgICAgKyAiIGV4cGVjdGVkOiAiICsgdHlwZW9mIHRlc3RWYWx1ZSArICI6JyIgKyB0ZXN0VmFs
dWUgKyAiJyAiCi0gICAgICAgICsgIiBnb3Q6ICIgKyB0eXBlb2YgcmVzdWx0ICsgIjonIiArIHJl
c3VsdCArIiciKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIHRlc3REQlZhbHVl
cyh0eCwgcmVzdWx0KSB7Ci0gICAgdmFyIHJzID0gcmVzdWx0LnJvd3MuaXRlbSgwKTsKLSAgICAv
LyBBdm9pZCBmb3IgLi4gaW4gYmVjYXVzZSAodGhlcmV0aWNhbGx5KSB0aGUgb3JkZXIgY2FuIGNo
YW5nZQotICAgIGkgPSAidGltZXN0YW1wIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRl
c3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gImlkIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZh
bHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gInJlYWwiOyBzaG91bGRCZVNh
bWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOwotICAgIGkgPSAidGV4dCI7
IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7Ci0gICAg
aSA9ICJibG9iIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJz
W2ldKTsKLSAgICAKLSAgICB0eC5leGVjdXRlU3FsKCJEUk9QIFRBQkxFIERhdGFUeXBlVGVzdFRh
YmxlIiwgW10sCi0gICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAgIG5v
dGlmeURvbmUoIlBBU1M6IGRhdGFiYXNlIGNsZWFuIHVwIG9rLiIpOwotICAgICAgICB9LAotICAg
ICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7Ci0gICAgICAgICAgICBub3RpZnlEb25lKCJGQUlM
OiBEYXRhYmFzZSBjbGVhbiB1cCBmYWlsZWQuIik7Ci0gICAgICAgIH0pOwotfQotCi1mdW5jdGlv
biBmZXRjaERCVmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7Ci0gICAgdHguZXhlY3V0ZVNxbCgiU0VM
RUNUICogRlJPTSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtdLAotICAgICAgICB0ZXN0REJWYWx1ZXMs
Ci0gICAgICAgIGZ1bmN0aW9uKHR4LGVycm9yKSB7Ci0gICAgICAgICAgICBub3RpZnlEb25lKCJG
QUlMOiBFcnJvciBmZXRjaGluZyB2YWx1ZXMgZnJvbSB0aGUgZGIuIikKLSAgICAgICAgfSk7Ci19
Ci0KLWZ1bmN0aW9uIGluc2VydFRlc3RWYWx1ZXNTdG10KHR4LCByZXN1bHQpIHsKLSAgICB0eC5l
eGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQsIHJlYWwsIHRpbWVz
dGFtcCwgdGV4dCwgYmxvYikgVkFMVUVTICg/LD8sPyw/LD8pIiwKLSAgICAgICAgW3Rlc3RWYWx1
ZXMuaWQsIHRlc3RWYWx1ZXMucmVhbCwgdGVzdFZhbHVlcy50aW1lc3RhbXAsIHRlc3RWYWx1ZXMu
dGV4dCwgdGVzdFZhbHVlcy5ibG9iXSwKLSAgICAgICAgZmV0Y2hEQlZhbHVlc1N0bXQsCi0gICAg
ICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDog
RXJyb3IgaW5zZXJ0aW5nIHZhbHVlcyB0byB0aGUgZGIuIik7Ci0gICAgICAgIH0pOwotfQotCi1m
dW5jdGlvbiBjcmVhdGVUZXN0REJTdG10KHR4KQotewotICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUeXBlVGVzdFRhYmxlIChpZCBJTlRFR0VSIFVOSVFV
RSwgcmVhbCBSRUFMLCB0aW1lc3RhbXAgSU5URUdFUiwgdGV4dCBURVhULCBibG9iIEJMT0IpIiwg
W10sCi0gICAgICAgIGluc2VydFRlc3RWYWx1ZXNTdG10LAotICAgICAgICBmdW5jdGlvbih0eCwg
ZXJyb3IpIHsKLSAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGNyZWF0aW5nIHRo
ZSBkYi4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICB9Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhVHlwZVRlc3Qi
LCAiMS4wIiwgIkRhdGFiYXNlIGZvciBzcWwgZGF0YSB0eXBlIHRlc3QiLCAxKTsKLSAgICBpZiAo
ZGIpCi0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0ZVRlc3REQlN0bXQpOwotICAgIGVsc2UK
LSAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3Igb3BlbmluZyB0aGUgZGIiKTsKLX0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTE5Nzc2YTVmZjcxY2FiNTcyNjFhN2FhNDRmMzBh
OTgxNTdiNGMyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEV4Y2VwdGlvbiB0aHJv
d24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IENhbm5vdCBjYWxs
IHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCi1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNv
ZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCi1QQVNTOiBleHBlY3RlZCBh
bmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJy
b3IgY29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZ
TlRBWF9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCi1Q
QVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVj
dGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3Qg
ZXJyb3IgY29kZSBWRVJTSU9OX0VSUgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3NxbC1lcnJvci1jb2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29k
ZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM3MGM2Y2FmZTg4OWM3ZThi
YTRlZjA4ZjU5Mzg3ZTBkM2UxNWIxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJz
cWwtZXJyb3ItY29kZXMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1
cEFuZFJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJvciBjb2RlcyByZXBvcnRl
ZCBpbiBleGNlcHRpb25hbCBzaXR1YXRpb25zLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotRkFJ
TFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAyZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEyNmEzYTU4NmQ4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3Fs
LWVycm9yLWNvZGVzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTE0ICswLDAgQEAKLWZ1bmN0aW9u
IGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIFRPVEFM
X1RFU1RTID0gNzsKLXZhciB0ZXN0c1J1biA9IDA7Ci1mdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9y
Q2FsbGJhY2soZXJyb3IsIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKLXsKLSAgICBpZiAoZXJyb3Iu
Y29kZSA9PSBlcnJvcltleHBlY3RlZEVycm9yQ29kZU5hbWVdKSB7Ci0gICAgICAgIGxvZygiUEFT
UzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlICIgKyBleHBlY3RlZEVycm9yQ29kZU5hbWUp
OwotICAgICAgICBpZiAoKyt0ZXN0c1J1biA9PSBUT1RBTF9URVNUUykKLSAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBsb2coIkZBSUw6IGV4cGVjdGVkIGVy
cm9yIGNvZGUgIiArIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSArICIgKCIgKyBlcnJvcltleHBlY3Rl
ZEVycm9yQ29kZU5hbWVdICsgIik7IGdvdCAiICsgZXJyb3IuY29kZSk7Ci0gICAgICAgIGZpbmlz
aFRlc3QoKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNr
KCkKLXsKLSAgICBsb2coIkZBSUw6IGEgdHJhbnNhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNz
ZnVsbHkuIik7Ci0gICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0VHJhbnNhY3Rp
b24oZGIsIHRyYW5zYWN0aW9uQ2FsbGJhY2ssIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKLXsKLSAg
ICBkYi50cmFuc2FjdGlvbih0cmFuc2FjdGlvbkNhbGxiYWNrLAotICAgICAgICAgICAgICAgICAg
IGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjayhlcnJvciwgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKLSAgICAgICAgICAgICAg
ICAgICB9LCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RU
cmFuc2FjdGlvblRocm93c0V4Y2VwdGlvbihkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIs
IGZ1bmN0aW9uKHR4KSB7IHRocm93ICJFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0aW9uIGNh
bGxiYWNrLiI7IH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0VHJhbnNhY3Rp
b25GYWlsdXJlQmVjYXVzZU9mU3RhdGVtZW50RmFpbHVyZShkYikKLXsKLSAgICB0ZXN0VHJhbnNh
Y3Rpb24oZGIsCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVNRU5UIiwgW10sIG51bGwsIGZ1
bmN0aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7Ci0gICAgICAgICAgICAgICAgICAg
IH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0SW52YWxpZFN0YXRlbWVudChk
YikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1dGVT
cWwoIkJBRCBTVEFURU1FTlQiKTsgfSwgIlNZTlRBWF9FUlIiKTsKLX0KLQotZnVuY3Rpb24gdGVz
dEluY29ycmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpCi17Ci0gICAgdGVzdFRyYW5zYWN0
aW9uKGRiLAotICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgQmFk
QmluZE51bWJlclRlc3QgKEZvbyBJTlQsIEJhciBJTlQpIik7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kTnVtYmVyVGVzdCBWQUxVRVMg
KD8sID8pIiwgWzFdKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlNZTlRBWF9FUlIiKTsKLX0K
LQotZnVuY3Rpb24gdGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYikKLXsKLSAgICB2YXIg
YmFkU3RyaW5nID0geyB9OwotICAgIGJhZFN0cmluZy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyB0
aHJvdyAiQ2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlzIG9iamVjdC4iIH07Ci0KLSAgICB0
ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwo
IkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmRUeXBlVGVzdCAoRm9vIFRFWFQpIik7
Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEJhZEJpbmRUeXBlVGVzdCBWQUxV
RVMgKD8pIiwgW2JhZFN0cmluZ10pOwotICAgIH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5j
dGlvbiB0ZXN0UXVvdGFFeGNlZWRlZChkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCi0g
ICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBRdW90YVRlc3QgKEZv
byBCTE9CKSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJU
IElOVE8gUXVvdGFUZXN0IFZBTFVFUyAoWkVST0JMT0IoMTAgKiAxMDI0ICogMTAyNCkpIik7Ci0g
ICAgICAgICAgICAgICAgICAgIH0sICJRVU9UQV9FUlIiKTsKLX0KLQotZnVuY3Rpb24gdGVzdFZl
cnNpb25NaXNtYXRjaChkYikKLXsKLSAgICAvLyBVc2UgYW5vdGhlciBEQiBoYW5kbGUgdG8gY2hh
bmdlIHRoZSB2ZXJzaW9uLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlIHN1cmUgdGhhdCB0aGUg
REIgdmVyc2lvbiBpcyBub3QKLSAgICAvLyBjaGFuZ2VkIGJlZm9yZSB0aGUgdHJhbnNhY3Rpb25z
IGluIHRoZSBvdGhlciB0ZXN0cyBoYXZlIHJ1biwgd2UgbmVlZCB0byBkbyBpdCBpbiBhIHRyYW5z
YWN0aW9uIG9uICdkYicuCi0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAg
ICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlNRTEVycm9yQ29kZXNUZXN0Iiwg
IjEuMCIsICJUZXN0cyB0aGUgZXJyb3IgY29kZXMuIiwgMSk7Ci0gICAgICAgIGRiMi5jaGFuZ2VW
ZXJzaW9uKCIxLjAiLCAiMi4wIiwgZnVuY3Rpb24odHgpIHsgfSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxvZygiRkFJTDogY291bGQgbm90IGNoYW5nZSB0aGUgREIgdmVyc2lvbi4iKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSwgZnVuY3Rpb24oKSB7IH0pOwotICAgICAgICB9KTsKLQotICAgIHRlc3RUcmFuc2Fj
dGlvbihkYiwKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlRISVMgU1RBVEVNRU5UIFNIT1VMRCBORVZFUiBH
RVQgRVhFQ1VURUQiKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlZFUlNJT05fRVJSIik7Ci19
Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7
Ci0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVzVGVz
dCIsICIxLjAiLCAiVGVzdHMgdGhlIGVycm9yIGNvZGVzLiIsIDEpOwotICAgIHRlc3RUcmFuc2Fj
dGlvblRocm93c0V4Y2VwdGlvbihkYik7Ci0gICAgdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1
c2VPZlN0YXRlbWVudEZhaWx1cmUoZGIpOwotICAgIHRlc3RJbnZhbGlkU3RhdGVtZW50KGRiKTsK
LSAgICB0ZXN0SW5jb3JyZWN0TnVtYmVyT2ZCaW5kUGFyYW1ldGVycyhkYik7Ci0gICAgdGVzdEJp
bmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYik7Ci0gICAgdGVzdFF1b3RhRXhjZWVkZWQoZGIpOwot
ICAgIHRlc3RWZXJzaW9uTWlzbWF0Y2goZGIpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDAzZDlmMGM5Njc4NzE1OTBjMTUxNDA3MGU2MDgwNjdl
NTAxMjEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXhjZXB0aW9u
IGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjawotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSB0
cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBhIHN0
YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMgdHJ1
ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBl
cnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3Ig
Y2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxi
YWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3
YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgot
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAt
IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotVGVzdCBDb21w
bGV0ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1j
YWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzNzY4OTYzOGJkMmI4YmU1Yjg2YmIzM2UwNTZm
ZjA4NTU3YWQ2ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQt
d29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1BTEVSVDog
dW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNh
bGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSBz
dGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9y
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYwNDUxMDIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9z
dGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMg
dGVzdCB0ZXN0cyB0aGF0IHRoZSBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGlu
IHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLXZh
ciBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17
Ci0gICAgaWYgKCgrK3N0YXRlbWVudEVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSh0eCwg
ZXJyb3IpCi17Ci0gICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7
Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMih0eCwg
ZXJyb3IpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwotICAgIGRvbmUoKTsKLX0K
LQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBp
biBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQu
Ym9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOwot
Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAotICAg
ICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEodHgsIGVy
cm9yKVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5i
b2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6
ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRh
dGFiYXNlKCdTdGF0ZW1lbnRFcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycs
IDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIgKwot
ICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24o
dHgsIGRhdGEpIHt9LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSk7XG4iICsKLSAgICAgICAgIn0p
OyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJyb3JDYWxsYmFj
a0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBm
dW5jdGlvbih0eCwgZGF0YSkge30sIHN0YXRlbWVudEVycm9yQ2FsbGJhY2syKTsKLSAgICB9KTsK
LX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDZkYjgzNmQxNjE4Yjk5MzI0NTY4NTFhYzlmOGUwN2E3NmNjMTVmYWQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg3ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkK
LXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBt
ZXNzYWdlICsgIjxicj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAgICBsb2co
IlRlc3QgQ29tcGxldGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQot
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZhciB0eENh
bGxiYWNrQ291bnQgPSAwOwotdmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsKLXZhciBk
YXRhYmFzZTsKLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWwsIHN0YXRl
bWVudEVycm9yQ2FsbGJhY2spCi17Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24o
dHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg
VGVzdFRhYmxlIChSYW5kb21EYXRhIFRFWFQpIik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklO
U0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOwotICAgICAgICB0eC5l
eGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKLSAgICAgICAgICAgIGZ1
bmN0aW9uKHR4LCBkYXRhKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhpcyBzdGF0
ZW1lbnQgc2hvdWxkIGhhdmUgZmFpbGVkIik7Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVzdCgp
OwotICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIHR4LmV4
ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0MSddLAot
ICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXhwZWN0
ZWRUb0ZhaWwpCi0gICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50
IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7Ci0gICAgICAgICAgICB9LCBmdW5jdGlv
bigpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICAg
ICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4
ZWN1dGVkIik7Ci0gICAgICAgICAgICB9KTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAg
ICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUgdHJh
bnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGxvZygiRkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBzaG91
bGQgbm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOwotICAgICAgICBpZiAoKyt0eENhbGxiYWNrQ291
bnQgPT0gTlVNQkVSX09GX1RSQU5TQUNUSU9OUykKLSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQotICAgICAg
ICAgICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgc2hvdWxk
IG5vdCBoYXZlIGJlZW4gaW52b2tlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbG9n
KCJQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7
Ci0gICAgICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJT05T
KQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBydW5U
ZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNl
KCJTdGF0ZW1lbnRFcnJvckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVycm9yIGNh
bGxiYWNrIHRlc3QiLCAxMDI0KTsKLQotICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9u
KGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5j
dGlvbihlcnJvcikgeyB0aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFj
ayI7IHJldHVybiBmYWxzZTsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24o
ZXJyb3IpIHsgcmV0dXJuICJzb21lIHN0cmluZyI7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKHRy
dWUsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiAxMjM0OyB9KTsKLSAgICBydW5UcmFuc2FjdGlv
bih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsgfSk7Ci0g
ICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJmYWxzZSI7
IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30pOwotICAg
IHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFsc2U7IH0p
OwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gMDsg
fSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiBu
dWxsOyB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRl
bHkgcm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFj
ayB0aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFu
eSB2YWx1ZS4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0
ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlZjAyN2RmYmQxYTA0MzQ2M2YyMTc2OWI3MzcxOWE4
OGU1YmY2ZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFMRVJUOiB1
bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2Fs
bGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHN0
YXRlbWVudCBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1
Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZjMTEzYi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+
Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sgaXMg
Y2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNj
cmlwdD4KLXZhciBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2tzSW52b2tlZCA9IDA7Ci1mdW5jdGlv
biBkb25lKCkKLXsKLSAgICBpZiAoKCsrc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrc0ludm9rZWQg
PT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50U3VjY2Vz
c0NhbGxiYWNrMSh0eCwgZGF0YSkKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29s
YXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudFN1Y2Nl
c3NDYWxsYmFjazIodHgsIGRhdGEpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwot
ICAgIGRvbmUoKTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9k
eS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAi
UEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4g
dGhpcyB3b3JsZC4iOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29s
YXRlZFdvcmxkKAotICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50U3VjY2Vz
c0NhbGxiYWNrMSh0eCwgZGF0YSlcbiIgKwotICAgICAgICAie1xuIiArCi0gICAgICAgICIgICAg
YWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCi0gICAgICAgICIgICAgd2luZG93LmxvY2F0
aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKLSAgICAgICAgIn1cbiIgKwotICAgICAgICAi
dmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrSXNvbGF0ZWRX
b3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpIHtcbiIgKwotICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBUQUJM
RSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3NDYWxs
YmFjazEpO1xuIiArCi0gICAgICAgICJ9KTsiKTsKLQotICAgIHZhciBkYjIgPSBvcGVuRGF0YWJh
c2UoJ1N0YXRlbWVudFN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAx
KTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0
ZVNxbCgnQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCknLCBbXSwgc3Rh
dGVtZW50U3VjY2Vzc0NhbGxiYWNrMik7Ci0gICAgfSk7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4K
LTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFj
ay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2stZXhw
ZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjE5MDI0NDE3OGMzZWEy
ZGQ5M2E1NjIzMDJhODA2ZWE4NDg5ODRmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFjay1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRoaXMgdGVzdCBjb25maXJt
cyB0aGF0IGEgc3VjY2Vzc2Z1bCB0cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0aG91dCBh
IHN0YXRlbWVudCAtIHJlY2VpdmVzIGl0cyBzdWNjZXNzQ2FsbGJhY2sKLVRyYW5zYWN0aW9uIHN1
Y2NlZWRlZCAtIFRyYW5zYWN0aW9uIHdpdGggb25lIHN0YXRlbWVudAotVHJhbnNhY3Rpb24gc3Vj
Y2VlZGVkIC0gRW1wdHkgdHJhbnNhY3Rpb24KLVRlc3QgQ29tcGxldGUKLQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzIzN2FiYTgyZTMwOTcyNDgxYWFiYjcwNTBkNWEyMTQ2ZTI1YzNmYS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N1
Y2Nlc3MtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxi
cj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAgICBsb2coIlRlc3QgQ29tcGxl
dGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9yRnVuY3Rp
b24oZXJyb3IpCi17Ci0gICAgbG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNzYWdlKTsK
LSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzQ291bnQgPSAwOwotCi1mdW5jdGlv
biBzdWNjZXNzRnVuY3Rpb24obWVzc2FnZSkKLXsKLSAgICBsb2coIlRyYW5zYWN0aW9uIHN1Y2Nl
ZWRlZCAtICIgKyBtZXNzYWdlKTsKLSAgICBpZiAoKytzdWNjZXNzQ291bnQgPT0gMikKLSAgICAg
ICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgIH0KLSAgICAKLSAgICB2YXIgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIlN1Y2Nlc3NDYWxs
YmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBzdWNjZXNzIGNhbGxiYWNrIDxyZGFyOi8v
NTczNzY5Mj4iLCAxKTsKLSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeyB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBTdWNjZXNzQ2FsbGJhY2tU
ZXN0IChyYW5kb21EYXRhKSIsIFtdKTsgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rpb24oKSB7IHN1
Y2Nlc3NGdW5jdGlvbigiVHJhbnNhY3Rpb24gd2l0aCBvbmUgc3RhdGVtZW50Iik7IH0pOwotICAg
IGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIGVycm9yRnVuY3Rpb24sIGZ1
bmN0aW9uKCkgeyBzdWNjZXNzRnVuY3Rpb24oIkVtcHR5IHRyYW5zYWN0aW9uIik7IH0pOwotfQot
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhpcyB0
ZXN0IGNvbmZpcm1zIHRoYXQgYSBzdWNjZXNzZnVsIHRyYW5zYWN0aW9uIC0gYm90aCB3aXRoIGFu
ZCB3aXRob3V0IGEgc3RhdGVtZW50IC0gcmVjZWl2ZXMgaXRzIHN1Y2Nlc3NDYWxsYmFjawotPHBy
ZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0MGY2M2Mw
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDY4ICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGUgZGF0YWJhc2UgYXV0aG9yaXplci4K
LVNRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVf
SU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0
ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50IHN1
Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1T
UUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVf
VklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50
IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkK
LVNRTElURV9SRUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfU0VMRUNUIHN0YXRlbWVu
dCBzdWNjZWVkZWQuCi1TUUxJVEVfREVMRVRFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVf
SU5TRVJUIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfVVBEQVRFIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCi1TUUxJVEVfUFJBR01BIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQUxURVJfVEFCTEUgc3RhdGVt
ZW50IHN1Y2NlZWRlZC4KLVNRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgot
U1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQVRUQUNIIHN0YXRlbWVudCBmYWls
ZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJ
VEVfREVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAo
MjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgot
U1FMSVRFX0FOQUxZWkUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVt
ZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCi1TUUxJVEVfRFJPUF9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJ
VEVfRFJPUF9URU1QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9EUk9QX1RF
TVBfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVFJJR0dFUiBzdGF0ZW1l
bnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FM
SVRFX0RST1BfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVdyaXRlIHRyYW5zYWN0aW9uIHN1
Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9UQUJM
RSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FM
SVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVEVNUF9UUklHR0VS
IHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0
aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQ1JFQVRF
X1RSSUdHRVIgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgx
IG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQ1JF
QVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQg
KDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJ
VEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFU
RV9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVFJJR0dFUiBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBzdWNjZWVk
ZWQuCi1TUUxJVEVfQ1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX1JFQUQgc3RhdGVtZW50
IHN1Y2NlZWRlZC4KLVNRTElURV9TRUxFQ1Qgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9E
RUxFVEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKLVNRTElURV9JTlNFUlQgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9VUERBVEUgc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKLVNRTElURV9QUkFHTUEgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUg
c3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1l
bnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVk
KQotU1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMSBubyBzdWNoIHRhYmxlOiBUZXN0VGFibGUpCi1TUUxJVEVfVFJBTlNBQ1RJ
T04gc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3Qg
YXV0aG9yaXplZCkKLVNRTElURV9BVFRBQ0ggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHBy
ZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9ERVRBQ0ggc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKLVNRTElURV9SRUlOREVYIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQU5BTFlaRSBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FM
SVRFX0RST1BfSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVt
ZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX1RFTVBfVEFCTEUgc3RhdGVtZW50
IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkK
LVNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RST1BfVEVNUF9WSUVX
IHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1
dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5v
dCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9WSUVX
IHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1
dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotUmVhZCB0cmFuc2FjdGlvbnMg
c3VjY2VlZGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9y
aXplci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXIuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJhZjEwYWE0NzUwMGE0ZjNjZjMxMjRjNzY3MTcz
MTc5ZTg5NDM0Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXplci5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
ZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ0ZXN0LWF1dGhvcml6
ZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3Qo
KTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLjxicj4KLTxwcmUg
aWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXpl
ci5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA0YTA4Yzg5ZGY1NGEzYjZjNGE4NjNjMDFkZjg5ZjQ3NTFjY2M5
MTg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTUz
ICswLDAgQEAKLWZ1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKLX0KLQotZnVuY3Rpb24gbG9nQW5kVGVybWluYXRlVGVzdChtZXNzYWdlLCBlcnJvcikK
LXsKLSAgICBsb2cobWVzc2FnZSArICI6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICB0ZXJtaW5h
dGVUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGNsZWFudXAoZGIpCi17Ci0gICAgZGIudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgVEFCTEUg
SUYgRVhJU1RTIFRlc3Q7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJEUk9QIElOREVY
IElGIEVYSVNUUyBUZXN0SW5kZXg7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJEUk9Q
IFZJRVcgSUYgRVhJU1RTIFRlc3RWaWV3OyIpOwotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
RFJPUCBUUklHR0VSIElGIEVYSVNUUyBUZXN0VHJpZ2dlcjsiKTsKLSAgICAgICAgfSwgZnVuY3Rp
b24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiQ2xlYW51cCBmYWlsZWQiLCBlcnJvcik7
IH0pOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soc3RhdGVtZW50VHlw
ZSkKLXsKLSAgICBsb2coc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IHN1Y2NlZWRlZC4iKTsK
LX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjayhzdGF0ZW1lbnRUeXBlLCBlcnJv
cikKLXsKLSAgICBsb2coc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVy
cm9yLm1lc3NhZ2UpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0ZVN0
YXRlbWVudCh0eCwgc3RhdGVtZW50LCBvcGVyYXRpb24pCi17Ci0gICAgdHguZXhlY3V0ZVNxbChz
dGF0ZW1lbnQsIFtdLAotICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7IHN0YXRl
bWVudFN1Y2Nlc3NDYWxsYmFjayhvcGVyYXRpb24pOyB9LAotICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24odHgsIGVycm9yKSB7IHJldHVybiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKG9wZXJhdGlv
biwgZXJyb3IpOyB9KTsKLX0KLQotZnVuY3Rpb24gY3JlYXRlVGFibGVDYWxsYmFjayh0eCkKLXsK
LSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRBQkxFIFRlc3QgKEZvbyBpbnQpOyIs
ICJTUUxJVEVfQ1JFQVRFX1RBQkxFIik7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZVN0YXRlbWVudHND
YWxsYmFjayh0eCkKLXsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIElOREVYIFRl
c3RJbmRleCBPTiBUZXN0IChGb28pOyIsICJTUUxJVEVfQ1JFQVRFX0lOREVYIik7Ci0KLSAgICAv
LyBFdmVuIHRob3VnaCB0aGUgZm9sbG93aW5nIHF1ZXJ5IHNob3VsZCB0cmlnZ2VyIGEgU1FMSVRF
X0NSRUFURV9URU1QX0lOREVYIG9wZXJhdGlvbgotICAgIC8vIChhY2NvcmRpbmcgdG8gaHR0cDov
L3d3dy5zcWxpdGUub3JnL3RlbXBmaWxlcy5odG1sKSwgaXQgZG9lc24ndCwgYW5kIEknbSBub3Qg
YXdhcmUKLSAgICAvLyBvZiBhbnkgb3RoZXIgd2F5IHRvIHRyaWdnZXIgdGhpcyBvcGVyYXRpb24u
IFNvIHdlJ2xsIHNraXAgaXQgZm9yIG5vdy4KLSAgICAvL2V4ZWN1dGVTdGF0ZW1lbnQodHgsICJT
RUxFQ1QgKiBGUk9NIFRlc3QgV0hFUkUgRm9vIElOICgxLCAyLCAzKTsiLCAiU1FMSVRFX0NSRUFU
RV9URU1QX0lOREVYIik7Ci0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRFTVAg
VEFCTEUgVGVzdFRlbXBUYWJsZSAoRm9vIGludCk7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9UQUJM
RSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVNUCBUUklHR0VSIFRlc3RU
ZW1wVHJpZ2dlciBJTlNFUlQgT04gVGVzdCBCRUdJTiBTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0
OyBFTkQ7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9UUklHR0VSIik7Ci0gICAgZXhlY3V0ZVN0YXRl
bWVudCh0eCwgIkNSRUFURSBURU1QIFZJRVcgVGVzdFRlbXBWaWV3IEFTIFNFTEVDVCBDT1VOVCgq
KSBGUk9NIFRlc3Q7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9WSUVXIik7Ci0gICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIkNSRUFURSBUUklHR0VSIFRlc3RUcmlnZ2VyIElOU0VSVCBPTiBUZXN0IEJF
R0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IEVORDsiLCAiU1FMSVRFX0NSRUFURV9UUklH
R0VSIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSUVXIFRlc3RWaWV3IEFT
IFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9DUkVBVEVfVklFVyIpOwotICAg
IGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVklSVFVBTCBUQUJMRSBUZXN0VmlydHVhbFRh
YmxlIFVTSU5HIE1pc3NpbmdNb2R1bGU7IiwgIlNRTElURV9DUkVBVEVfVlRBQkxFIik7Ci19Ci0K
LWZ1bmN0aW9uIG90aGVyU3RhdGVtZW50c0NhbGxiYWNrKHR4KQotewotICAgIGV4ZWN1dGVTdGF0
ZW1lbnQodHgsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyIsICJTUUxJVEVfUkVBRCIpOwot
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyIsICJT
UUxJVEVfU0VMRUNUIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRFTEVURSBGUk9NIFRl
c3Q7IiwgIlNRTElURV9ERUxFVEUiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiSU5TRVJU
IElOVE8gVGVzdCBWQUxVRVMgKDEpOyIsICJTUUxJVEVfSU5TRVJUIik7Ci0gICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIlVQREFURSBUZXN0IFNFVCBGb28gPSAyIFdIRVJFIEZvbyA9IDE7IiwgIlNR
TElURV9VUERBVEUiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUFJBR01BIGNhY2hlX3Np
emU7IiwgIlNRTElURV9QUkFHTUEiKTsKLQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJBTFRF
UiBUQUJMRSBUZXN0IFJFTkFNRSBUTyBUZXN0VGFibGU7IiwgIlNRTElURV9BTFRFUl9UQUJMRSIp
OwotICAgIC8vIFJlbmFtZSB0aGUgdGFibGUgYmFjayB0byBpdHMgb3JpZ2luYWwgbmFtZQotICAg
IGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJBTFRFUiBUQUJMRSBUZXN0VGFibGUgUkVOQU1FIFRvIFRl
c3Q7IiwgIlNRTElURV9BTFRFUl9UQUJMRSIpOwotCi0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwg
IkJFR0lOIFRSQU5TQUNUSU9OOyIsICJTUUxJVEVfVFJBTlNBQ1RJT04iKTsKLSAgICBleGVjdXRl
U3RhdGVtZW50KHR4LCAiQVRUQUNIIG1haW4gQVMgVGVzdE1haW47IiwgIlNRTElURV9BVFRBQ0gi
KTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVUQUNIIFRlc3RNYWluOyIsICJTUUxJVEVf
REVUQUNIIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlJFSU5ERVg7IiwgIlNRTElURV9S
RUlOREVYIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFOQUxZWkU7IiwgIlNRTElURV9B
TkFMWVpFIik7Ci0KLSAgICAvLyBTUUxJVEVfRlVOQ1RJT046IGFsbG93ZWQgd3JpdGUgbW9kZQot
ICAgIC8vIFRoZXJlIGlzIG5vIFNRTC9KYXZhc2NyaXB0IEFQSSB0byBhZGQgdXNlci1kZWZpbmVk
IGZ1bmN0aW9ucyB0byBTUUxpdGUsCi0gICAgLy8gc28gd2UgY2Fubm90IHRlc3QgdGhpcyBvcGVy
YXRpb24KLX0KLQotZnVuY3Rpb24gZHJvcFN0YXRlbWVudHNDYWxsYmFjayh0eCkKLXsKLSAgICBl
eGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBJTkRFWCBUZXN0SW5kZXg7IiwgIlNRTElURV9EUk9Q
X0lOREVYIik7Ci0KLSAgICAvLyBTUUxJVEVfRFJPUF9URU1QX0lOREVYOiBhbGxvd2VkIGluIHdy
aXRlIG1vZGUKLSAgICAvLyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB0ZW1wIGluZGV4ZXMg
YXJlIGF1dG9tYXRpY2FsbHkgZHJvcHBlZCB3aGVuCi0gICAgLy8gdGhlIGRhdGFiYXNlIGlzIGNs
b3NlZCwgYnV0IEhUTUw1IGRvZXNuJ3Qgc3BlY2lmeSBhIGNsb3NlRGF0YWJhc2UoKSBjYWxsLgot
Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVEFCTEUgVGVzdFRlbXBUYWJsZTsiLCAi
U1FMSVRFX0RST1BfVEVNUF9UQUJMRSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9Q
IFRSSUdHRVIgVGVzdFRlbXBUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIiKTsK
LSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBWSUVXIFRlc3RUZW1wVmlldzsiLCAiU1FM
SVRFX0RST1BfVEVNUF9WSUVXIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVFJJ
R0dFUiBUZXN0VHJpZ2dlcjsiLCAiU1FMSVRFX0RST1BfVFJJR0dFUiIpOwotICAgIGV4ZWN1dGVT
dGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFZpZXc7IiwgIlNRTElURV9EUk9QX1ZJRVciKTsK
LQotICAgIC8vIFNRTElURV9EUk9QX1ZUQUJMRTogYWxsb3dlZCBpbiB3cml0ZSBtb2RlCi0gICAg
Ly8gTm90IHN1cmUgaG93IHRvIHRlc3QgdGhpczogd2UgY2Fubm90IGNyZWF0ZSBhIHZpcnR1YWwg
dGFibGUgYmVjYXVzZSB3ZSBkbyBub3QKLSAgICAvLyBoYXZlIFNRTC9KYXZhc2NyaXB0IEFQSXMg
dG8gcmVnaXN0ZXIgYSBtb2R1bGUgdGhhdCBpbXBsZW1lbnRzIGEgdmlydHVhbCB0YWJsZS4KLSAg
ICAvLyBUaGVyZWZvcmUsIHRyeWluZyB0byBkcm9wIGEgdmlydHVhbCB0YWJsZSB3aWxsIGFsd2F5
cyBmYWlsIChubyBzdWNoIHRhYmxlKQotICAgIC8vIGJlZm9yZSBldmVuIGdldHRpbmcgdG8gdGhl
IGF1dGhvcml6ZXIuCi0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBUZXN0
OyIsICJTUUxJVEVfRFJPUF9UQUJMRSIpOwotfQotCi1mdW5jdGlvbiB0ZXN0UmVhZFdyaXRlTW9k
ZShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAg
Y3JlYXRlVGFibGVDYWxsYmFjayh0eCk7Ci0gICAgICAgICAgICBjcmVhdGVTdGF0ZW1lbnRzQ2Fs
bGJhY2sodHgpOwotICAgICAgICAgICAgb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpOwotICAg
ICAgICAgICAgZHJvcFN0YXRlbWVudHNDYWxsYmFjayh0eCk7Ci0gICAgICAgIH0sCi0gICAgICAg
IGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIldyaXRlIHRyYW5zYWN0aW9u
IGZhaWxlZCIsIGVycm9yKTsgfSwKLSAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiV3JpdGUgdHJh
bnNhY3Rpb24gc3VjY2VlZGVkLiIpOyB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdFJlYWRPbmx5TW9k
ZShkYikKLXsKLSAgICAvLyBUZXN0IHRoZSAnQ1JFQVRFIFRBQkxFJyBvcGVyYXRpb247IGl0IHNo
b3VsZCBiZSBkaXNhbGxvd2VkCi0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGNyZWF0ZVRhYmxlQ2Fs
bGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJl
YWQgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKLQotICAg
IC8vIEluIG9yZGVyIHRvIHRlc3QgYWxsIG90aGVyICdDUkVBVEUnIG9wZXJhdGlvbnMsIHdlIG11
c3QgY3JlYXRlIHRoZSB0YWJsZSBmaXJzdAotICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0ZVRhYmxl
Q2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3Qo
IldyaXRlICdDUkVBVEUgVEFCTEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Ci0g
ICAgZGIucmVhZFRyYW5zYWN0aW9uKGNyZWF0ZVN0YXRlbWVudHNDYWxsYmFjaywKLSAgICAgICAg
ZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnQ1JFQVRFJyB0cmFu
c2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwotCi0gICAgLy8gSW4gb3JkZXIgdG8gdGVzdCB0
aGUgJ0RST1AnIGFuZCAnb3RoZXInIG9wZXJhdGlvbnMsIHdlIG5lZWQgdG8gZmlyc3QgY3JlYXRl
IHRoZSByZXNwZWN0aXZlIGVudGl0aWVzCi0gICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlU3RhdGVt
ZW50c0NhbGxiYWNrLAotICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVU
ZXN0KCJXcml0ZSAnQ1JFQVRFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwotICAg
IGRiLnJlYWRUcmFuc2FjdGlvbihvdGhlclN0YXRlbWVudHNDYWxsYmFjaywKLSAgICAgICAgZnVu
Y3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnb3RoZXInIHRyYW5zYWN0
aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Ci0KLSAgICAvLyBIYWNrOiBpbnNlcnQgYW4gZW1wdHkg
d3JpdGUgdHJhbnNhY3Rpb24gdG8gZ3VhcmF0ZWUgdGhhdCB0aGVzZSB0cmFuc2FjdGlvbnMgYXJl
IGV4ZWN1dGVkIHNlcXVlbnRpYWxseQotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7
IH0pOwotICAgIGRiLnJlYWRUcmFuc2FjdGlvbihkcm9wU3RhdGVtZW50c0NhbGxiYWNrLAotICAg
ICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdEUk9QJyB0
cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0sCi0gICAgICAgIGZ1bmN0aW9uKCkgeyBsb2co
IlJlYWQgdHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4iKTsgdGVybWluYXRlVGVzdCgpOyB9KTsKLX0K
LQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlV2l0aFN1
ZmZpeCgiQXV0aG9yaXplclRlc3QiLCAiMS4wIiwgIlRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3Jp
emVyLiIsIDMyNzY4KTsKLSAgICBjbGVhbnVwKGRiKTsKLSAgICB0ZXN0UmVhZFdyaXRlTW9kZShk
Yik7Ci0gICAgdGVzdFJlYWRPbmx5TW9kZShkYik7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1j
cmFzaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4OGM3NDI2
MDVlMzRkZGI5ODhlODkzM2MzNGUwNDNhMzNhYzI0ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1j
YWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
MiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgotSWYg
V2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24t
Y3Jhc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJjYzczMmJiOGYyYjUz
ZWNiNDQ4MWE3OTk3NWUyY2NmNzFjY2RjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNr
LWV4Y2VwdGlvbi1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotPGh0
bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotdmFyIGRiID0gb3BlbkRhdGFiYXNlKCIx
NTk3NlRlc3QiLCAiMS4wIiwgIlRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1OTc2IiwgMSk7Ci1kYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICB3aW5kb3cuc2V0VGltZW91
dChmdW5jdGlvbigpIHsgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0sIDApOwot
ICAgdGhyb3cgIlRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvciI7Ci19KTsKLTwvc2NyaXB0PgotPC9o
ZWFkPgotPGJvZHk+Ci1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNz
ZWQKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJh
bnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZjQ3NGY3YmM2ZWE3OGE5MjE3Yjk4
ZDA4YjliMjVhNzEyZWZlNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRl
ZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFMRVJU
OiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEg
Y2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhl
IHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgyNWQ3
MDAzNDA0Mjg0NmVmZDRkMWQ5NTgzYjcyZTJlNTk1MmJiYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCww
IEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhh
dCB0aGUgdHJhbnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLXZhciB0cmFuc2FjdGlvbkNhbGxi
YWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3RyYW5zYWN0
aW9uQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5j
dGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMSh0eCkKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJs
ZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHRyYW5z
YWN0aW9uQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKLSAg
ICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHku
Zm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFyID0gIlBB
U1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRo
aXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0
ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIHRyYW5zYWN0aW9uQ2FsbGJh
Y2sxKHR4KVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVu
dC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3Jp
cHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3Bl
bkRhdGFiYXNlKCdUcmFuc2FjdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycs
IDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24odHJhbnNhY3Rpb25DYWxsYmFjazEp
OyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxsYmFja0lz
b2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24odHJhbnNh
Y3Rpb25DYWxsYmFjazIpOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZmIzM2JkOWFiN2Qw
NzdjNWRkNjNjMDA3OThlM2Q2NzUwMDlmMzE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3It
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1DT05T
T0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDYzOiBbb2JqZWN0IE9iamVjdF0KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5z
YWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBv
ZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZh
aWx1cmUuCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2Fs
bGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxp
bmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUwotVGVz
dGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxs
YmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNr
IHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDog
U1VDQ0VTUwotQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZGExNTM5NjY3OGQ5ZWJmMzE1MmQ4ZTljODRkM2MxNGNiNGU5ZjI3NS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Ry
YW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotQUxFUlQ6IHVuZGVmaW5lZAotQUxFUlQ6IFBBU1M6
IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMg
d29ybGQuCi1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJh
Y2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRl
ZC13b3JsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjE4OTRkMmVhMjc1
OGFlOTFmOTczOWE3YjU1NWQ1YzZlMzJkY2IxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3It
Y2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0
IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdv
cmxkLgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5zYWN0aW9u
RXJyb3JDYWxsYmFja3NJbnZva2VkID0gMDsKLWZ1bmN0aW9uIGRvbmUoKQotewotICAgIGlmICgo
Kyt0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotfQotCi1mdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KQotewotICAg
IGFsZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUoKTsK
LX0KLQotZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMih0eCkKLXsKLSAgICBhbGVy
dChkb2N1bWVudC5ib2R5LmJhcik7Ci0gICAgZG9uZSgpOwotfQotCi1kb2N1bWVudC5ib2R5LmZv
byA9ICJGQUlMOiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7
Ci1kb2N1bWVudC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGlu
IGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7Ci0KLWlmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFi
YXNlcygpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCi0gICAgICAgIDAsCi0gICAgICAgICJm
dW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KVxuIiArCi0gICAgICAgICJ7XG4i
ICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAg
IiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAi
fVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkVycm9y
Q2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAgImRi
MS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkge1xuIiArCi0gICAgICAgICIgICAgdHguZXhlY3V0
ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1bmN0aW9u
KHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7XG4iICsKLSAgICAgICAgIn0sIHRyYW5zYWN0
aW9uRXJyb3JDYWxsYmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJh
bnNhY3Rpb25FcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOwotICAg
IGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRlU3FsKCdC
QUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgZnVuY3Rpb24odHgsIGVy
cm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICB9LCB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sy
KTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA5MGIyZWQwMzRmZDk1YTdiYWU1MmEwODZlOWEyZWU1ZWJjZGVmNzcyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDEwNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5l
ckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotLy8gc2lnbmFsIHRvIGxheW91dFRlc3RD
b250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHplcm8uCi12YXIgdGVzdENvdW50ID0gNDsKLS8v
IHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0aGUgbnVtYmVyIG9mIHJvd3MgYWxyZWFkeSBp
biBvdXIgdGVzdCBkYXRhYmFzZS4KLS8vIG91ciBnb2FsIGlzIHRvIGtlZXAgdGhlIG51bWJlciB1
bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCi12YXIgaW5pdGlhbFJvd0NvdW50ID0gMDsKLXZh
ciBkYXRhYmFzZTsKLXZhciBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQ7Ci0KLWZ1bmN0aW9uIGZpbmlz
aFRlc3QoKQotewotICAgIGlmICgtLXRlc3RDb3VudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
bG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIpOwotCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OwotfQotCi1mdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKQotewotICAgIHN1Y2Nlc3NDYWxsYmFj
a0NhbGxlZCA9IHRydWU7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeVN1Y2Nlc3MobXNnKQotewotICAg
IGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50IEZST00gRXJyb3JDYWxsYmFja1Rlc3Qi
LCBbXSwgZnVuY3Rpb24odHgsIHJzKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2cobXNnICsg
IiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50ID09IGluaXRpYWxSb3dDb3VudCAmJiAhc3Vj
Y2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1MiIDogIkZBSUxVUkUiKSk7Ci0gICAgICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBmYWls
TWlkV2F5KGVycm9yQ2FsbGJhY2spCi17Ci0gICAgc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID0gZmFs
c2U7Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpCi0gICAgewotICAgICAg
ICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBFcnJvckNhbGxiYWNrVGVzdChzb21lVmFsdWUp
IFZBTFVFUyg/KTsiLCBbIDEgXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIk1VVFRFUiBTT01F
VEhJTkcgSUxMRUdJQkxFIik7Ci0gICAgfSwgZXJyb3JDYWxsYmFjaywgc3VjY2Vzc0NhbGxiYWNr
KTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50Q2FsbGJhY2tUaHJvd3NFeGNlcHRpb24oZXJyb3JD
YWxsYmFjaykKLXsKLSAgICBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPSBmYWxzZTsKLSAgICBkYXRh
YmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKLSAgICB7Ci0gICAgICAgIHR4LmV4ZWN1dGVT
cWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0KHNvbWVWYWx1ZSkgVkFMVUVTKD8pOyIs
IFsgMSBdLCBmdW5jdGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRocm93IHt9OwotICAg
ICAgICB9KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
LSAgICB9Ci0KLSAgICBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRXJyb3JDYWxsYmFja0RhdGFi
YXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBjYWxsYmFjayIsIDEpOwotICAgIGRhdGFiYXNl
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgi
Q1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJyb3JDYWxsYmFja1Rlc3QgKHNvbWVWYWx1ZSki
LCBbXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBjb3VudCgqKSBBUyBjb3VudCBG
Uk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1bmN0aW9uKHR4LCBycykKLSAgICAgICAgewot
ICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0gcnMucm93cy5pdGVtKDApLmNvdW50OwotICAg
ICAgICB9KTsKLSAgICB9KTsKLQotICAgIGZhaWxNaWRXYXkoZnVuY3Rpb24oKSB7IHJldHVybiB0
cnVlOyB9KTsKLSAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcg
bWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKLSAgICBmYWlsTWlk
V2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3MoIlRl
c3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1
cm4gZmFsc2UiKTsKLSAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihmdW5jdGlv
bigpIHsgcmV0dXJuIHRydWU7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3Rpbmcgc3RhdGVt
ZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJu
aW5nIHRydWUiKTsKLSAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihmdW5jdGlv
bigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKLSAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHN0YXRl
bWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVy
bmluZyBmYWxzZSIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgPGNvZGU+U1FMVHJhbnNhY3Rpb25F
cnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBv
ZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZh
aWx1cmUuCi08cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFu
c2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQyN2Y0YWNlNzM4MzNiNWU2ZWM0Njg2YWZlNzA1
OTY0M2JmMWQ4Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1BTEVS
VDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBh
IGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRo
ZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29y
bGQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vz
cy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFu
c2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGNhMmRmOTRiMzRhZDU4NmI0MDc2MzQyMGMwYzcwMzY5M2QyMTc4
MmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxo
dG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gc3VjY2Vz
cyBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrc0ludm9r
ZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3RyYW5zYWN0aW9uU3VjY2Vz
c0NhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rp
b24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sxKHR4KQotewotICAgIGFsZXJ0KCJGQUlMOiBW
aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rpb24g
dHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJv
ZHkuYmFyKTsKLSAgICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRv
Y3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJv
ZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBj
cmVhdGVkIGluIHRoaXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNj
cmlwdEluSXNvbGF0ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIHRyYW5z
YWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eClcbiIgKwotICAgICAgICAie1xuIiArCi0gICAgICAg
ICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCi0gICAgICAgICIgICAgd2luZG93
LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKLSAgICAgICAgIn1cbiIgKwotICAg
ICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2tJ
c29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAgImRiMS50cmFuc2Fj
dGlvbihmdW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazEp
OyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNjZXNzQ2Fs
bGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7Ci0gICAgZGIyLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7IH0sIG51bGwsIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMik7Ci19
Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jOTM5
ZTM2NTBjNTU3M2ZiOWY4ZGQwNzZlZGMyMTkyZjk4N2Y3MWVlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIEpTIGRhdGFiYXNlLmNo
YW5nZVZlcnNpb24oKSBmdW5jdGlvbiB3b3JrcyBhcyBleHBlY3RlZC4KK0ZpbmlzaGVkIHRlc3Rz
IHdpdGggdmVyc2lvbiAzOyBleHBlY3RlZCB2ZXJzaW9uOiAzCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhhbmRs
ZS1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2Ut
dmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNzY0ODFiMzRl
YzI4NTYxZGUwMjcyMzRjNTk3ZjllNGY4OWExNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0ZXN0cyB0aGF0IGEgZGF0YWJhc2UgY2FuIGJlIGFj
Y2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hvdWxkIHNlZSBhbiBlcnJv
ciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNtYXRjaGluZyB2ZXJzaW9u
cy4KK2NoYW5nZVZlcnNpb246IHRyYW5zYWN0aW9uIGNhbGxiYWNrCitjaGFuZ2VWZXJzaW9uOiBz
dWNjZXNzIGNhbGxiYWNrCit0cmFuc2FjdGlvbjogc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrOiBj
b3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogRm9vQmFyKQorVEVT
VCBDT01QTEVURS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hh
bmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjNmYmY0ODRk
N2E4NWEzNDkwYjUxNWI3MDg5NTQ0YWVlMDg2ZmExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwKQEAg
LTAsMCArMSwxMiBAQAorPGh0bWw+IAorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Rh
dGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iY2hhbmdlLXZlcnNpb24t
aGFuZGxlLXJldXNlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4gCis8Ym9keSBvbmxvYWQ9InNldHVw
QW5kUnVuVGVzdCgpIj4gCis8ZGl2PlRoaXMgdGVzdHMgdGhhdCBhIGRhdGFiYXNlIGNhbiBiZSBh
Y2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBpdHMgdmVyc2lvbi4gWW91IHNob3VsZCBzZWUgYW4gZXJy
b3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJlbG93LCBub3QgYWJvdXQgbWlzbWF0Y2hpbmcgdmVyc2lv
bnMuCis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3By
ZT4gCis8L2JvZHk+IAorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0N2E1
OGMzYjkxZmYyYzUwODBmMmM5MjBhNWQ0MWFiY2I1Y2UyYTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMK
QEAgLTAsMCArMSw0NiBAQAorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9nKCJURVNU
IENPTVBMRVRFLiIpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBy
dW5UZXN0KCkKK3sKKyAgICB0cnkgeworICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZm
aXgoIkNoYW5nZVZlcnNpb24iLCAiIiwgIlRlc3QgdGhhdCBjaGFuZ2luZyBhIGRhdGFiYXNlIHZl
cnNpb24gZG9lc24ndCBraWxsIG91ciBoYW5kbGUgdG8gaXQiLCAxKTsKKyAgICAgICAgdmFyIHZl
cnNpb24gPSBkYi52ZXJzaW9uOworICAgICAgICB2YXIgbmV3VmVyc2lvbiA9IHZlcnNpb24gPyAo
cGFyc2VJbnQodmVyc2lvbikgKyAxKS50b1N0cmluZygpIDogIjEiOyAKKyAgICAgICAgZGIuY2hh
bmdlVmVyc2lvbih2ZXJzaW9uLCBuZXdWZXJzaW9uLCBmdW5jdGlvbih0eCkgeworICAgICAgICAg
ICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlvbiBjYWxsYmFjayIpOworICAgICAgICB9
LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBlcnJv
ciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICB9LCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjayIpOworICAg
ICAgICAgICAgcnVuVGVzdDIoKTsKKyAgICAgICAgfSk7CisgICAgICAgIAorICAgIH0gY2F0Y2gg
KGUpIHsKKyAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uIGV4Y2VwdGlvbjogIiArIGUpOworICAg
ICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorIAorZnVuY3Rpb24gcnVuVGVzdDIoKQorewor
ICAgIHRyeSB7CisgICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAg
ICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBmcm9tIEZvb0JhciIsIFtdLCBmdW5jdGlvbih0
eCkgeworICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBjYWxsYmFj
ayIpOworICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIH0sIGZ1bmN0
aW9uKHR4LCBlcnJvcikgeworICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRl
bWVudCBlcnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgIGxvZygidHJhbnNhY3Rpb24gZXhjZXB0aW9uOiAiICsgZSk7CisgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1u
by1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmIw
ZDU0OWNiMGNkNDdkZmE4NjYxZTZlNmM1OTg5MDQzYjk5YzMzMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXBy
ZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJzaW9u
KCkncyBwcmVmbGlnaHQgc3RlcCBmYWlscy4KK1BBU1M6IGRiLmNoYW5nZVZlcnNpb24oKSBmYWls
ZWQgYXMgZXhwZWN0ZWQsIGFuZCBubyBhc3NlcnRpb25zIHdlcmUgdHJpZ2dlcmVkLgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFz
aC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
Y2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yYTUxMmZiOWFjOTFkZmI0ZGEyYzhmMmU4MzZkYmM1MDg3NjU5MTIwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jh
c2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisK
K2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIg
ZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJDaGFuZ2VWZXJzaW9uRmFpbHVyZVRlc3QiLCAiMSIs
ICJUZXN0IHRoZSBwcmVmbGlnaHQgc3RlcCIsIDEwMjQpOworICAgIGRiLmNoYW5nZVZlcnNpb24o
IjIiLCAiMyIsIG51bGwsIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgIGxvZygiUEFTUzogZGIu
Y2hhbmdlVmVyc2lvbigpIGZhaWxlZCBhcyBleHBlY3RlZCwgYW5kIG5vIGFzc2VydGlvbnMgd2Vy
ZSB0cmlnZ2VyZWQuIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9LCBmdW5jdGlvbigp
IHsKKyAgICAgICAgbG9nKCJGQUlMOiBkYi5jaGFuZ2VWZXJzaW9uKCkgd2FzIGV4cGVjdGVkIHRv
IGZhaWwuIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJzaW9uKCkncyBwcmVm
bGlnaHQgc3RlcCBmYWlscy4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNp
b24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzliYjlkZjU4OGI5NGNkZGMwM2IyZjc5YWM5YWE0ZjA2NjQ2Yjk1YQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9u
Lmh0bWwKQEAgLTAsMCArMSwxMDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVzdCBkYXRh
YmFzZS5jaGFuZ2VWZXJzaW9uPC90aXRsZT4KKzxzY3JpcHQ+Cit2YXIgZGIxOwordmFyIEVYUEVD
VEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCA9ICcyJzsKK3ZhciBFWFBFQ1RFRF9WRVJTSU9O
X0FGVEVSX1JFTE9BRCA9ICczJzsKKworZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsgfQorCitm
dW5jdGlvbiBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2sodHgpCit7CisgICAgdHguZXhlY3V0ZVNxbCgi
RFJPUCB0YWJsZSBpZiBleGlzdHMgaW5mbzsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5j
dGlvbik7CisgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIHRhYmxlIGlmIG5vdCBleGlzdHMgaW5m
byAodmVyc2lvbiBJTlRFR0VSKTsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlvbik7
CisgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIGludG8gaW5mbyB2YWx1ZXMoPyk7IiwgW0VYUEVD
VEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlvbik7
Cit9CisKK2Z1bmN0aW9uIGNoYW5nZVZlcnNpb25TdWNjZXNzKCkKK3sKKyAgICBsb2coIlN1Y2Nl
c3NmdWxseSBjaGFuZ2VkIHZlcnNpb24gdG8gIiArIGRiMS52ZXJzaW9uICsgIi4gUmVsb2FkaW5n
LiIpOworICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsgJz8yJzsK
K30KKworZnVuY3Rpb24gY2hhbmdlVmVyc2lvbkVycm9yKGVycm9yKQoreworICAgIGxvZygiRXJy
b3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9u
IGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBsb2coIlRFU1Qg
Q09NUExFVEUiKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9
CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNo
ID09ICI/MiIpIHsKKyAgICAgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVy
c2lvbi10ZXN0IiwgIiIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1
bmN0aW9uIiwgMTAyNCk7CisgICAgICAgIGxvZygiRmluaXNoZWQgdGVzdHMgd2l0aCB2ZXJzaW9u
ICIgKyBkYjEudmVyc2lvbiArICI7IGV4cGVjdGVkIHZlcnNpb246ICIgKyBFWFBFQ1RFRF9WRVJT
SU9OX0FGVEVSX1JFTE9BRCk7CisKKyAgICAgICAgLy8gUmVzZXQgdGhlIERCIHZlcnNpb24gb3Ig
dGhlIG5leHQgcnVuIG1pZ2h0IGZhaWwuCisgICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKGRiMS52
ZXJzaW9uLCAiMSIpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgdGVzdFBhcnQxKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXJ0MSgpIHsKKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgIH0KKworICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNpb24tdGVz
dCIsICIxIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rpb24i
LCAxMDI0KTsKKyAgICB2YXIgZGIyID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVyc2lv
bi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBmdW5j
dGlvbiIsIDEwMjQpOworCisgICAgLy8gRmlyc3QgcnVuIEhpeGllJ3MgdGVzdCB0byBlbnN1cmUg
YmFzaWMgY2hhbmdlVmVyc2lvbiBmdW5jdGlvbmFsaXR5IHdvcmtzIChzZWUgYnVnIDI4NDE4KS4K
KyAgICBkYjEuY2hhbmdlVmVyc2lvbigiMSIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVf
VEVTVCwgbnVsbCwgZnVuY3Rpb24gKGUpIHsKKyAgICAgICAgbG9nKCJGQUlMIGluIGNoYW5nZVZl
cnNpb246IiArIGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSwgZnVuY3Rpb24gKCkg
eworICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZlcnNpb24gY2hhbmdlIGhhcyBwcm9wYWdhdGVk
IHRvIGRiMiB0b28uCisgICAgICAgIC8vIEFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNob3VsZCBm
YWlsLgorICAgICAgICBpZiAoZGIyLnZlcnNpb24gIT0gZGIxLnZlcnNpb24pIHsKKyAgICAgICAg
ICAgIGxvZygiRkFJTDogY2hhbmdpbmcgZGIxJ3MgdmVyc2lvbiAoIiArIGRiMS52ZXJzaW9uICsg
IikgZGlkIG5vdCBjaGFuZ2UgZGIyJ3MgdmVyc2lvbiAoIiArIGRiMi52ZXJzaW9uICsgIikgYXMg
ZXhwZWN0ZWQuIik7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAgICAg
ICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKKyAgICAgICAg
fSwgZnVuY3Rpb24oZXJyb3IpIHsgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBsb2coIkZB
SUw6IFRoZSBEQiB2ZXJzaW9uIGNoYW5nZWQsIGFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNob3Vs
ZCBmYWlsLiIpOworICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICB9KTsKKworICAg
ICAgICAvLyBNYWtlIHN1cmUgYW55IG5ldyBoYW5kbGUgdG8gdGhlIHNhbWUgREIgc2VlcyB0aGUg
bmV3IHZlcnNpb24KKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBkYjMgPSBvcGVuRGF0
YWJhc2UoImNoYW5nZS12ZXJzaW9uLXRlc3QiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX0hJWElF
X1RFU1QsICIiLCAwKTsKKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgbG9nKCJG
QUlMIGluIG9wZW5EYXRhYmFzZTogIiArIGUpOworICAgICAgICAgICAgZmluaXNoVGVzdCgpOwor
ICAgICAgICB9CisgICAgICAgIGlmIChkYjEudmVyc2lvbiAhPSBkYjMudmVyc2lvbikgeworICAg
ICAgICAgICAgbG9nKCJGQUlMOiBkYi52ZXJzaW9uKCIgKyBkYjEudmVyc2lvbiArICIpIGRvZXMg
bm90IG1hdGNoIGRiMy52ZXJzaW9uKCIgKyBkYjMudmVyc2lvbiArIikiKTsKKyAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIE5vdyB0cnkgYSB0ZXN0IHRv
IGVuc3VyZSB0aGUgdmVyc2lvbiBwZXJzaXN0cyBhZnRlciByZWxvYWRpbmcgKHNlZSBidWcgMjc4
MzYpCisgICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElY
SUVfVEVTVCwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQUQsIGNoYW5nZVZlcnNpb25DYWxs
YmFjaywgY2hhbmdlVmVyc2lvbkVycm9yLCBjaGFuZ2VWZXJzaW9uU3VjY2Vzcyk7CisgICAgfSk7
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+CitUaGlz
IHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1bmN0
aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jbG9zZS1k
dXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYWFk
OTBjMTYyOWU1MGIwZTYwNTJjZjhiNmU0N2UxM2UxMDFjMDIyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Nob3VsZCBub3QgY3Jhc2ggb3IgY2F1c2UgYW4gYXNz
ZXJ0aW9uIGZhaWx1cmUuCisKK0EgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25zb2xlIGlz
IGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVkIHdoZW4g
Y2xvc2luZyBhIGZyYW1lLiBJdCBhY3R1YWxseSBoZWxwcyB0byBjYXVzZSBkYXRhYmFzZSBhY3Rp
dml0eSBieSB0aHJvd2luZyBhbiBleGNlcHRpb24gZnJvbSBhIGNhbGxiYWNrLgorCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVz
dC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10
ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNjNTJmZDk1NTBkOTllNDRhYjg2MzBmYzY3MDJlZDk0Mjg4
NTdlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Nsb3Nl
LWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzxib2R5PgorPHA+U2hv
dWxkIG5vdCBjcmFzaCBvciBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS48L3A+Cis8cD5BIEph
dmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwgaG93ZXZlciwgYXMg
dGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBmcmFtZS4KK0l0IGFj
dHVhbGx5IGhlbHBzIHRvIGNhdXNlIGRhdGFiYXNlIGFjdGl2aXR5IGJ5IHRocm93aW5nIGFuIGV4
Y2VwdGlvbiBmcm9tIGEgY2FsbGJhY2suPC9wPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworfQorCitmdW5jdGlv
biBzdGFydFRlc3QoKQoreworICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdpZnJhbWUnKVswXS5zcmMgPSAnYWJvdXQ6YmxhbmsnIiwgMTAwKTsKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBzZXRUaW1lb3V0KCJsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCA1MDApOworfQorPC9zY3JpcHQ+Cis8aWZyYW1l
IHNyYz0icmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sIiBvbmxvYWQ9InN0YXJ0VGVzdCgpIj48
L2lmcmFtZT4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yNzI5NTYzYWI4MDhjYjNkYmVkNzcyNTJlN2U0MDIxMmI1MGNkMzIyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRl
ci1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorSW5zZXJ0aW5nIHNvbWUgZGF0
YQorVGVzdCBwYXJ0IDIgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWI1OTg5Zjc4MDI1N2NmZDNiYTQ5OTk1ODVlNGU1NzY1MjEyYjE1MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2Fk
Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlv
biBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIp
LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0
KCkKK3sKKyAgICBsb2coIlRlc3QgcGFydCAxIENvbXBsZXRlIik7CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworfQorCitmdW5jdGlvbiBlcnJvckZ1bmN0aW9uKGVycm9yKQoreworICAgIGxvZygi
VGVzdCBmYWlsZWQgLSAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgZmluaXNoVGVzdCgpOworfQor
CitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOworICAgICAgICAvLyBMb2Fk
IGEgbmV3IHBhZ2Ugd2hpbGUgdGhlIHRyYW5zYWN0aW9uIGlzIHN0aWxsIGluIHByb2dyZXNzLCBp
bnRlcnJ1cHRpbmcgdGhlIHRyYW5zYWN0aW9uLgorICAgICAgICAvLyBUaGlzIHNob3VsZCBub3Qg
bGVhdmUgdGhlIGRhdGFiYXNlIGxvY2tlZCBhbmQgb24gdGhlIG5leHQgcGFnZSB3ZSBzaG91bGQg
YmUgYWJsZSB0byBpbnNlcnQKKyAgICAgICAgLy8gc29tZSBtb3JlIGRhdGEuCisgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTIChaRVJP
QkxPQig1MjQyMDApKSIsIFtdLAorICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyBs
b2NhdGlvbi5ocmVmID0gIi4vcmVzb3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIu
aHRtbCI7IH0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgZXJyb3JGdW5jdGlv
bihlcnJvcik7IH0pOworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVz
dCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0IoNTI0MjAwKSkiKTsKKyAgICB9LCBlcnJvckZ1
bmN0aW9uLCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKK30KKworZnVuY3Rpb24gcnVu
VGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIgZGF0YWJhc2U7CisgICAgdHJ5
IHsKKyAgICAgICAgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rlc3QiLCAi
MS4wIiwgIlRlc3QgZm9yIGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKKyAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qgb3BlbiBkYXRhYmFzZSIpOwor
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorCisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHsKKyAgICAgICAgbG9nKCJBZGRpbmcgYSB0YWJsZSIpOworICAgICAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgRGF0YVRlc3QgKHRlc3REYXRhKSIsIFtdLCBmdW5j
dGlvbih0eCwgcmVzdWx0KSB7IH0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsg
ZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOworICAgIH0sIGVycm9yRnVuY3Rpb24sIGZ1bmN0aW9u
KCkgeyBhZGREYXRhKGRhdGFiYXNlKTsgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9i
b2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9l
bXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
ZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OGQ5ZGNhNGUyNzM1MzRk
YjNkODMzYjY5OTk1MGRjYjE1MTg0YWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIg
QEAKK0V4ZWN1dGVkIGFuIGVtcHR5IHN0YXRlbWVudC4gSWYgeW91IGRpZG4ndCBzZWUgYSBjcmFz
aCBvciBhc3NlcnRpb24sIHRoZSB0ZXN0IHBhc3NlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmVjNWI4Y2FjNWU0
YTU4MjYwODc2YmI1MzlmYjhiYWI2MDRjZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50Lmh0bWwKQEAgLTAsMCArMSwzNiBAQAor
PGh0bWw+CisKKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2co
bWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVy
VGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gZXhlY3V0ZUVtcHR5U3RhdGVt
ZW50KHRyYW5zYWN0aW9uKQoreworICAgIHRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoIiIpOworICAg
IHdyaXRlTWVzc2FnZVRvTG9nKCJFeGVjdXRlZCBhbiBlbXB0eSBzdGF0ZW1lbnQuIElmIHlvdSBk
aWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0aGUgdGVzdCBwYXNzZWQuIik7CisgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworICAgIH0KKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkVtcHR5U3RhdGVtZW50
VGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIGFuIGVtcHR5IHN0YXRlbWVudCB0ZXN0IiwgMSk7
CisgICAgZGIudHJhbnNhY3Rpb24oZXhlY3V0ZUVtcHR5U3RhdGVtZW50KTsKK30KKworPC9zY3Jp
cHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNv
bGUiPjwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBlMzBiNGJkZDZjZmRiZjJkOTIwMzlkNTVhMjllOTM2N2M2MmQxYWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI5IEBACitQQVNTLiBleGVjdXRlU3FsKG51bGwpIGRpZCBub3QgdGhy
b3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJv
dyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoMCkgZGlkIG5vdCB0aHJvdyBhbiBleGNl
cHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQ
QVNTLiBleGVjdXRlU3FsKCIiLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFT
Uy4gZXhlY3V0ZVNxbCgiIiwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgor
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgW10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNT
LiBleGVjdXRlU3FsKCIiLCBbICJhcmcwIiBdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgor
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFT
Uy4gZXhlY3V0ZVNxbCgiIiwgeyBsZW5ndGg6IDAgfSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAxLCAwOiAiYXJnMCIgfSkgZGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwpIGRp
ZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCB1bmRl
ZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBu
dWxsLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIi
LCBudWxsLCBudWxsLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhl
Y3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2Vw
dGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgeyB9KSBkaWQgbm90IHRocm93
IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBl
eHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwodGhyb3dPblRvU3RyaW5nT2JqZWN0KSB0aHJldyBh
biBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCB0aHJvd09uR2V0
TGVuZ3RoT2JqZWN0KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVj
dXRlU3FsKCIiLCB0aHJvd09uR2V0WmVyb09iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4
cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgWyB0aHJvd09uVG9TdHJpbmdPYmplY3QgXSkg
dGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgMCkg
dGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgIiIp
IHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51
bGwsIDApIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwo
IiIsIG51bGwsICIiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVj
dXRlU3FsKCIiLCBudWxsLCBudWxsLCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQu
CitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAiIikgdGhyZXcgYW4gZXhjZXB0aW9u
IGFzIGV4cGVjdGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9l
eGVjdXRlLXNxbC1hcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRl
LXNxbC1hcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjlmMmE0M2FiYWEzNjdjZDk1Y2IwMjY4YzlmNzRj
OTg2YTk5YzVjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9ImV4ZWN1dGUtc3FsLWFyZ3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9k
eSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNvbGUiPiAKK0ZBSUxV
UkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPiAKKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5qcyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2I5NDE0ZGIzY2EzYzgwNTA2MWJkYWM2YWM2YzhmYjdkN2ZjOTAyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanMKQEAgLTAs
MCArMSw4NiBAQAordmFyIHRocm93T25Ub1N0cmluZ09iamVjdCA9IHsgfTsKK3Rocm93T25Ub1N0
cmluZ09iamVjdC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBjYWxsIHRv
U3RyaW5nIG9uIHRoaXMgb2JqZWN0LiIgfTsKKwordmFyIHRocm93T25HZXRMZW5ndGhPYmplY3Qg
PSB7IH07Cit0aHJvd09uR2V0TGVuZ3RoT2JqZWN0Ll9fZGVmaW5lR2V0dGVyX18oImxlbmd0aCIs
IGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgbGVuZ3RoIG9mIHRoaXMgb2JqZWN0LiI7
IH0pOworCit2YXIgdGhyb3dPbkdldFplcm9PYmplY3QgPSB7IGxlbmd0aDogMSB9OwordGhyb3dP
bkdldFplcm9PYmplY3QuX19kZWZpbmVHZXR0ZXJfXygiMCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cg
IkNhbm5vdCBnZXQgMCBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdC4iOyB9KTsKKwordmFyIGV4cGVj
dE5vRXhjZXB0aW9uID0gWworICAgICdudWxsJywKKyAgICAndW5kZWZpbmVkJywKKyAgICAnMCcs
CisgICAgJyIiJywKKyAgICAnIiIsIG51bGwnLAorICAgICciIiwgdW5kZWZpbmVkJywKKyAgICAn
IiIsIFtdJywKKyAgICAnIiIsIFsgImFyZzAiIF0nLAorICAgICciIiwgeyB9JywKKyAgICAnIiIs
IHsgbGVuZ3RoOiAwIH0nLAorICAgICciIiwgeyBsZW5ndGg6IDEsIDA6ICJhcmcwIiB9JywKKyAg
ICAnIiIsIG51bGwsIG51bGwnLAorICAgICciIiwgbnVsbCwgdW5kZWZpbmVkJywKKyAgICAnIiIs
IG51bGwsIHsgfScsCisgICAgJyIiLCBudWxsLCBudWxsLCBudWxsJywKKyAgICAnIiIsIG51bGws
IG51bGwsIHVuZGVmaW5lZCcsCisgICAgJyIiLCBudWxsLCBudWxsLCB7IH0nLAorXTsKKwordmFy
IGV4cGVjdEV4Y2VwdGlvbiA9IFsKKyAgICAnJywKKyAgICAndGhyb3dPblRvU3RyaW5nT2JqZWN0
JywKKyAgICAnIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3QnLAorICAgICciIiwgdGhyb3dPbkdl
dFplcm9PYmplY3QnLAorICAgICciIiwgWyB0aHJvd09uVG9TdHJpbmdPYmplY3QgXScsCisgICAg
JyIiLCAwJywKKyAgICAnIiIsICIiJywKKyAgICAnIiIsIG51bGwsIDAnLAorICAgICciIiwgbnVs
bCwgIiInLAorICAgICciIiwgbnVsbCwgbnVsbCwgMCcsCisgICAgJyIiLCBudWxsLCBudWxsLCAi
IicsCitdOworCitmdW5jdGlvbiB0cnlFeGVjdXRlU3FsKHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJM
aXN0KQoreworICAgIHRyeSB7CisgICAgICAgIGV2YWwoJ3RyYW5zYWN0aW9uLmV4ZWN1dGVTcWwo
JyArIHBhcmFtZXRlckxpc3QgKyAnKScpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9IGNh
dGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgcmV0dXJuIGV4Y2VwdGlvbjsKKyAgICB9Cit9CisK
K2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgcGFyYW1ldGVyTGlzdCwg
ZXhwZWN0RXhjZXB0aW9uKQoreworICAgIHZhciBleGNlcHRpb24gPSB0cnlFeGVjdXRlU3FsKHRy
YW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KTsKKyAgICBpZiAoZXhwZWN0RXhjZXB0aW9uKSB7Cisg
ICAgICAgIGlmIChleGNlcHRpb24pCisgICAgICAgICAgICBsb2coIlBBU1MuIGV4ZWN1dGVTcWwo
IiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuIik7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZygiKkZBSUwqLiBleGVjdXRlU3FsKCIgKyBw
YXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24iKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICAgICAgbG9nKCIqRkFJTCouIGV4
ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRpb246ICIgKyBl
eGNlcHRpb24pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsb2coIlBBU1MuIGV4ZWN1dGVT
cWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbiIpOwor
ICAgIH0KK30KKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25UZXN0cyh0cmFuc2FjdGlvbikKK3sK
KyAgICBmb3IgKGkgaW4gZXhwZWN0Tm9FeGNlcHRpb24pCisgICAgICAgIHJ1blRyYW5zYWN0aW9u
VGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0Tm9FeGNlcHRpb25baV0sIGZhbHNlKTsKKyAgICBmb3Ig
KGkgaW4gZXhwZWN0RXhjZXB0aW9uKQorICAgICAgICBydW5UcmFuc2FjdGlvblRlc3QodHJhbnNh
Y3Rpb24sIGV4cGVjdEV4Y2VwdGlvbltpXSwgdHJ1ZSk7CisKKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworCisgICAgdmFyIGRiID0gb3BlbkRhdGFi
YXNlV2l0aFN1ZmZpeCgiRXhlY3V0ZVNRTEFyZ3NUZXN0IiwgIjEuMCIsICJUZXN0IG9mIGhhbmRs
aW5nIG9mIHRoZSBhcmd1bWVudHMgdG8gU1FMVHJhbnNhY3Rpb24uZXhlY3V0ZVNxbCIsIDEpOwor
ICAgIGRiLnRyYW5zYWN0aW9uKHJ1blRyYW5zYWN0aW9uVGVzdHMpOworfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0
YXRlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRl
c3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
OTVjZWVlOGM4ODNhZGUxNDNlYTk2YTE1MjM1N2QwNjc1OWE5ZmE5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25l
LXN0YXRlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgdGVzdHMg
dGhhdCBleGVjdXRlU3FsKCkgZmFpbHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0IGhh
cyBtb3JlIHRoYW4gb25lIHZhbGlkIHN0YXRlbWVudCBpbiBpdC4KK1Rlc3QgcGFzc2VkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2VwdHMt
b25seS1vbmUtc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVj
dXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM4NjBj
ODk5MjVmMmZjZGIxMDYzNmZlN2M2MjNhYzgzYjEzNjAyYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0
ZW1lbnQuaHRtbApAQCAtMCwwICsxLDc4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKwor
dmFyIFRPVEFMX1NUQVRFTUVOVFMgPSA4OwordmFyIHN0YXRlbWVudHMgPSAwOwordmFyIGRiID0g
bnVsbDsKKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuYm9keS5pbm5l
clRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQor
eworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVN0YXRlbWVu
dChleHBlY3RlZFRvUGFzcywgc3RhdGVtZW50KQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0
aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoc3RhdGVtZW50LCBbXSwKKyAgICAgICAg
ICAgIGZ1bmN0aW9uKHR4LCBkYXRhKSB7CisgICAgICAgICAgICAgICAgaWYgKCFleHBlY3RlZFRv
UGFzcykgeworICAgICAgICAgICAgICAgICAgICBsb2coIlN0YXRlbWVudCAiICsgc3RhdGVtZW50
ICsgIiB3YXMgZXhwZWN0ZWQgdG8gZmFpbCwgYnV0IHBhc3NlZC4iKTsKKyAgICAgICAgICAgICAg
ICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBpZiAoKytzdGF0ZW1lbnRzID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKKyAgICAgICAgICAgICAg
ICAgICAgbG9nKCJUZXN0IHBhc3NlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRl
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHR4LCBl
cnJvcikgeworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZFRvUGFzcykgeworICAgICAgICAg
ICAgICAgICAgICBsb2coIlN0YXRlbWVudCAiICsgc3RhdGVtZW50ICsgIiB3YXMgZXhwZWN0ZWQg
dG8gcGFzcywgYnV0IGZhaWxlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVz
dCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoKytzdGF0ZW1lbnRz
ID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJUZXN0IHBh
c3NlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0
KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRiID0gb3BlbkRhdGFiYXNlKCJFeGVjdXRl
U1FMQWNjZXB0c09ubHlPbmVTdGF0ZW1lbnRUZXN0IiwgIjEuMCIsICIiLCAxKTsKKyAgICBkYi50
cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUg
VEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIpOworICAgIH0sIGZ1bmN0aW9uKGVy
cm9yKSB7CisgICAgICAgIGxvZygiVGVzdCBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAg
ICAgICAgdGVybWluYXRlVGVzdCgpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBleGVj
dXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMSkiKTsKKyAgICAg
ICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDIpOyIp
OworICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICIgICBJTlNFUlQgSU5UTyBUZXN0IFZB
TFVFUyAoMykgICAgIik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElOU0VS
VCBJTlRPIFRlc3QgVkFMVUVTICg0KTsgICAiKTsKKyAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0
cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDUpICAgOyIpOworICAgICAgICBleGVjdXRl
U3RhdGVtZW50KGZhbHNlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDYpOyBnYXJiYWdlIik7
CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2UsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVF
UyAoNyk7IElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg4KSIpOworICAgICAgICBleGVjdXRlU3Rh
dGVtZW50KGZhbHNlLCAiICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoOSk7ICAgSU5TRVJUIElO
VE8gVGVzdCBWQUxVRVMgKDEwKTsgICAiKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgZXhl
Y3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVkIHdpdGggYSBzdHJpbmcgdGhhdCBoYXMgbW9yZSB0
aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4gaXQuPGJyPgorPC9ib2R5PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Ut
d2l0aC14aHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1j
aGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlOTY0ZTYzNzViZDNhMzFi
YWI4OGI3MjU1YjhmNTQwNzI0Y2NjZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitDaGFuZ2luZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVzLgorRGIg
aXMgd2FybWVkIHVwCitUZXN0IENvbXBsZXRlLCBTVUNDRVNTCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU4NDMyMGYwZjE5Yzc4YzRmY2M4YzZmODU0MjBiZThjZjU2YjMzOWMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1s
CkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPiAKKzxoZWFkPiAKKzx0aXRsZT5IYXNoIENoYW5nZSB3
aXRoIGFuIE9wZW4gWEhSIHNob3VsZCBub3Qgc3RvcCBkYXRhYmFzZSB0cmFuc2FjdGlvbnM8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Imhhc2gtY2hhbmdlLXdpdGgteGhyLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4gCis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4gCis8cHJlIGlkPSJjb25zb2xl
Ij4KK0ZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPgorPC9ib2R5PiAKKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14aHIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2Y1NmY3OTVhMTgyZTFhODFkYWZiNjQwMGVjODNjOGMzMGMwZDVmYQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdl
LXdpdGgteGhyLmpzCkBAIC0wLDAgKzEsMTE4IEBACit2YXIgREJfVVBEQVRFX0lOVEVSVkFMID0g
MTAwOwordmFyIFNFTkRfWEhSX0lOVEVSVkFMID0gMTAwOwordmFyIEJBQ0tfSU5URVJWQUwgPSAx
MDA7Cit2YXIgQ1JFQVRFX0hFQUxUSF9UQUJMRSA9ICdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNU
UyBoZWFsdGggKGtleSBWQVJDSEFSKDE2KSBQUklNQVJZIEtFWSk7JzsKK3ZhciBVUERBVEVfREFU
QSA9ICdSRVBMQUNFIElOVE8gaGVhbHRoIFZBTFVFUygiaGVhbHRoLWNoZWNrLWtleSIpOyc7Cisg
Cit2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCdidWcyNTcxMCcsICcxLjAnLCAnTGF5
b3V0VGVzdCBmb3IgYnVnIDI1NzEwJywgMTAyNDAwKTsKK3ZhciBiYWNrSXRlcmF0aW9uczsKK3Zh
ciB4aHJGY3RJbnRlcnZhbElkOwordmFyIGJhY2tGY3RJbnRlcnZhbElkOwordmFyIHN1Y2Nlc3ND
aGVja0ludGVydmFsSWQ7Cit2YXIgZGJGY3RJbnRlcnZhbElkOwordmFyIHN1Y2Nlc3NlczsKK3Zh
ciBkYXRhYmFzZVVwZGF0ZXM7Cit2YXIgc3RvcHBlZEludGVydmFsczsKKyAKK2Z1bmN0aW9uIHN0
b3BJbnRlcnZhbHMoKQoreworICAgIHN0b3BwZWRJbnRlcnZhbHMgPSB0cnVlOworICAgIGNsZWFy
SW50ZXJ2YWwoZGJGY3RJbnRlcnZhbElkKTsKKyAgICBjbGVhckludGVydmFsKHhockZjdEludGVy
dmFsSWQpOworICAgIGNsZWFySW50ZXJ2YWwoYmFja0ZjdEludGVydmFsSWQpOworfQorCitmdW5j
dGlvbiBzdG9wVGVzdChtZXNzYWdlKQoreworICAgIGlmICghc3RvcHBlZEludGVydmFscykKKyAg
ICAgICAgc3RvcEludGVydmFscygpOworCisgICAgbG9nKG1lc3NhZ2UpOworCisgICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworfQorICAgIAorZnVuY3Rpb24gdXBkYXRlRGF0YWJhc2UoKQoreworICAg
IGRhdGFiYXNlVXBkYXRlcysrOyAgCisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHJhbnNh
Y3Rpb24pIHsKKyAgICAgICAgdHJhbnNhY3Rpb24uZXhlY3V0ZVNxbChVUERBVEVfREFUQSwgW10s
IGZ1bmN0aW9uKCkge30sIGVycm9ySGFuZGxlcik7CisgICAgfSwgZXJyb3JIYW5kbGVyLCBmdW5j
dGlvbigpIHsKKyAgICAgICAgc3VjY2Vzc2VzKys7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGNo
ZWNrRm9yU3VjY2VzcygpCit7CisgICAgaWYgKHN1Y2Nlc3NlcyA9PSBkYXRhYmFzZVVwZGF0ZXMp
IHsKKyAgICAgICAgc3RvcFRlc3QoJ1Rlc3QgQ29tcGxldGUsIFNVQ0NFU1MnKTsKKyAgICAgICAg
Y2xlYXJJbnRlcnZhbChzdWNjZXNzQ2hlY2tJbnRlcnZhbElkKTsKKyAgICB9Cit9CisgCitmdW5j
dGlvbiBlcnJvckhhbmRsZXIodHgsIGVycm9yKQoreworICAgIGxvZygnREIgZXJyb3IsIGNvZGU6
ICcgKyBlcnJvci5jb2RlICsgJywgbXNnOiAnICsgZXJyb3IubWVzc2FnZSk7CisgICAgc3RvcFRl
c3QoJ1Rlc3QgQ29tcGxldGUsIEZBSUxFRCcpOworfQorIAorZnVuY3Rpb24gc2VuZFhocigpCit7
CisgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgeGhyLm9wZW4oJ0dFVCcsIGxv
Y2F0aW9uLmhyZWYsIHRydWUpOworICAgIHhoci5zZW5kKCcnKTsKK30KKyAKK2Z1bmN0aW9uIGlu
dm9rZUJhY2soKQoreworICAgIGJhY2tJdGVyYXRpb25zLS07CisgICAgaWYgKGJhY2tJdGVyYXRp
b25zKSB7CisgICAgICAgIGhpc3RvcnkuYmFjaygpOworICAgIH0gZWxzZSB7CisgICAgICAgIHN0
b3BJbnRlcnZhbHMoKTsKKyAgICAgICAgLy8gQWxsb3cgYSBsaXR0bGUgdGltZSBmb3IgYWxsIHRo
ZSBkYXRhYmFzZSB0cmFuc2FjdGlvbnMgdG8gY29tcGxldGUgbm93IHdlJ3ZlIHN0b3BwZWQgbWFr
aW5nIHRoZW0uCisgICAgICAgIHN1Y2Nlc3NDaGVja0ludGVydmFsSWQgPSBzZXRJbnRlcnZhbChj
aGVja0ZvclN1Y2Nlc3MsIDI1MCk7CisgICAgICAgIC8vIElmIHdlIGRvbid0IGZpbmlzaCBiZWZv
cmUgdGhpcyB0aW1lLCB0aGVuIHdlIGNvbnNpZGVyIHRoZSB0ZXN0IGZhaWxlZC4KKyAgICAgICAg
c2V0VGltZW91dChmdW5jdGlvbigpIHsgc3RvcFRlc3QoJ1RpbWVkIG91dCB3YWl0aW5nIGZvciB0
cmFuc2FjdGlvbnMgdG8gY29tcGxldGUuIEZBSUxFRCcpOyB9LCAyMDAwMCk7CisgICAgICAgIAor
ICAgIH0KK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgLy8gTG9jYXRpb24gY2hhbmdl
cyBuZWVkIHRvIGhhcHBlbiBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB0byBnZW5lcmF0ZSBo
aXN0b3J5IGVudHJpZXMuCisgICAgc2V0VGltZW91dChydW5UZXN0c0lubmVyLCAwKTsKK30KKwor
ZnVuY3Rpb24gcnVuVGVzdHNJbm5lcigpCit7CisgICAgYmFja0l0ZXJhdGlvbnMgPSAxMDsKKyAg
ICBjb25zZWN1dGl2ZUZhaWx1cmVzID0gMDsKKyAgICBzdWNjZXNzZXMgPSAwOworICAgIGRhdGFi
YXNlVXBkYXRlcyA9IDA7CisgICAgc3RvcHBlZEludGVydmFscyA9IGZhbHNlOworCisgICAgLy8g
Q3JlYXRlIHNvbWUgaGFzaGVzIHNvIHdlIGNhbiBjYWxsIGhpc3RvcnkuYmFjaygpLgorICAgIGxv
ZygnQ2hhbmdpbmcgdGhlIGhhc2ggdG8gY3JlYXRlIGhpc3RvcnkgZW50cmllcy4nKTsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGJhY2tJdGVyYXRpb25zOyBpKyspIHsKKyAgICAgICAgc2V0TG9j
YXRpb25IYXNoKGkpOworICAgIH0KKworICAgIC8vIEluaXQgdGhlIGRhdGFiYXNlLgorICAgIGRi
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHRyYW5zYWN0aW9uKSB7CisgICAgICAgIHRyYW5zYWN0aW9u
LmV4ZWN1dGVTcWwoQ1JFQVRFX0hFQUxUSF9UQUJMRSwgW10sIGZ1bmN0aW9uKCkge30sIGVycm9y
SGFuZGxlcik7CisgICAgfSwgZXJyb3JIYW5kbGVyLCBmdW5jdGlvbigpIHsKKyAgICAgICAgLy8g
R2l2ZSBhIGxpdHRsZSBmb3IgdGhlIGRhdGFiYXNlIHRvICd3YXJtIHVwJyBiZWZvcmUgbWFraW5n
IHhociByZXF1ZXN0cworICAgICAgICAvLyBhbmQgY2FsbGluZyBoaXN0b3J5LmJhY2soKS4KKyAg
ICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGxvZygnRGIgaXMgd2Fy
bWVkIHVwJyk7CisKKyAgICAgICAgICAgIC8vIE5PVEU6IElmIHdlIGRvbid0IG1ha2UgYW55IHho
ciByZXF1ZXN0cywgdGhlbiB0aGUgdGVzdAorICAgICAgICAgICAgLy8gc3VjY2Vzc2Z1bGx5IHBh
c3NlcyAoY29tbWVudCB0aGlzIGxpbmUgb3V0KS4KKyAgICAgICAgICAgIHhockZjdEludGVydmFs
SWQgPSBzZXRJbnRlcnZhbChzZW5kWGhyLCBTRU5EX1hIUl9JTlRFUlZBTCk7CisgICAgICAgICAg
ICBiYWNrRmN0SW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGludm9rZUJhY2ssIEJBQ0tfSU5URVJW
QUwpOworICAgICAgICAgICAgZGJGY3RJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwodXBkYXRlRGF0
YWJhc2UsIERCX1VQREFURV9JTlRFUlZBTCk7CisgICAgICAgIH0sIDUwMCk7CisgICAgfSk7Cit9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFz
ZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmQwMTUxNGE2YWVmYjM2MjhlYjAwMzY0Y2IyNjI0YzIwZTBlODkwMDQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRh
YmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1Ro
aXMgdGVzdCBvcGVucyB0d28gZGF0YWJhc2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3BlcmF0
aW9ucyBvbiBib3RoLCB0aGVuICJmb3JnZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0ZXIgZm9y
Y2luZyBHQywgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBi
ZSBmcmVlZCBncmFjZWZ1bGx5LgorRm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBs
ZXRlCitQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdl
LWNvbGxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRh
dGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDUxYWNmYmI5OWE0
MzlkZDgyNDc2YzE5OTQ5MTY2ODZhOWE2ZjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5o
dG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibXVsdGlwbGUt
ZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBvbmxvYWQ9
InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3Qgb3BlbnMgdHdvIGRhdGFiYXNlcywgcXVl
dWVzIHVwIGEgc2VyaWVzIG9mIG9wZXJhdGlvbnMgb24gYm90aCwgdGhlbiAiZm9yZ2V0cyIgYWJv
dXQgb25lIG9mIHRoZW0uCitBZnRlciBmb3JjaW5nIEdDLCByZXNvdXJjZXMgYXNzb2NpYXRlZCB3
aXRoIHRoYXQgZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVsbHkuPGJyPgorPHByZSBp
ZD0iY29uc29sZSI+IAorRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlw
bGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWEyYjI3ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZlZjY0NDIwZDg2ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJi
YWdlLWNvbGxlY3Rpb24uanMKQEAgLTAsMCArMSw1NiBAQAorZnVuY3Rpb24gR0MoKQoreworICAg
IC8vIEZvcmNlIEdDLgorICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAgICAgICBHQ0Nv
bnRyb2xsZXIuY29sbGVjdCgpOworICAgIGVsc2UgeworICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IDEwMDAwOyArK2kpIHsKKyAgICAgICAgICAgICh7IH0pOworICAgICAgICB9CisgICAgfQor
fQorCisvLyBWYXJpYWJsZSBmb3IgdGhlIGRhdGFiYXNlIHRoYXQgd2lsbCBuZXZlciBiZSBmb3Jn
b3R0ZW4KK3ZhciBwZXJzaXN0ZW50REIgPSAwOworLy8gVmFyaWFibGUgZm9yIHRoZSBmb3Jnb3R0
ZW4gZGF0YWJhc2UKK3ZhciBmb3Jnb3R0ZW5EQiA9IDA7CisKK3ZhciBjb21wbGV0ZWQgPSAwOwor
ZnVuY3Rpb24gY2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICBpZiAoKytjb21wbGV0ZWQgPT0gMiAm
JiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgcGVyc2lz
dGVudERCID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVEYXRhYmFzZXNUZXN0MSIs
ICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9mIGEgc2V0IG9mIGRhdGFiYXNlcyBiZWluZyBkZXN0cm95
ZWQgKDEpIiwgMzI3NjgpOworICAgIGZvcmdvdHRlbkRCID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZp
eCgiTXVsdGlwbGVEYXRhYmFzZXNUZXN0MiIsICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9mIGEgc2V0
IG9mIGRhdGFiYXNlcyBiZWluZyBkZXN0cm95ZWQgKDIpIiwgMzI3NjgpOworCisgICAgcGVyc2lz
dGVudERCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLCBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7IAorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAy
NTsgKytpKQorICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFU
ZXN0IChyYW5kb21EYXRhKSBWQUxVRVMgKDEpIiwgW10pOworICAgICAgICB9KTsgCisgICAgfSwg
ZnVuY3Rpb24oZXJyKSB7CisgICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBUcmFuc2Fj
dGlvbiBFcnJvcmVkIC0gIiArIGVycik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOworICAg
IH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBsb2coIlBlcnNpc3RlbnQgRGF0YWJhc2UgVHJhbnNh
Y3Rpb24gQ29tcGxldGUiKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7CisK
KyAgICBmb3Jnb3R0ZW5EQi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5l
eGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBFbXB0eVRhYmxlICh1bmltcG9y
dGFudERhdGEpIiwgW10pOworICAgIH0sIGZ1bmN0aW9uKGVycikgeworICAgICAgICBsb2coIkZv
cmdvdHRlbiBEYXRhYmFzZSBUcmFuc2FjdGlvbiBFcnJvcmVkIC0gIiArIGVycik7CisgICAgICAg
IGZvcmdvdHRlbkRCID0gMDsKKyAgICAgICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9u
KCk7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiRm9yZ290dGVuIERhdGFiYXNl
IFRyYW5zYWN0aW9uIENvbXBsZXRlIik7CisgICAgICAgIGZvcmdvdHRlbkRCID0gMDsKKyAgICAg
ICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7Cit9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTljMGY2ZTk1YmFmYjhmNTc4MzM2MDk2MTZl
ZjUyYzcwODk2MTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1Ro
aXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0
cmFuc2FjdGlvbnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6CitU
cmFuc2FjdGlvbiAxIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCitUcmFuc2FjdGlv
biAyIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDIgU3VjY2VlZGVkCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQt
aGFuZGxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBs
ZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJhNmEyZDE3Y2EwNjg3MTc1OTAxYjNlYmJlMDdjYzYyZjhmMmQ2ZTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMt
b24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGhpcyBp
cyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBvbiBk
aWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRzIGluIGEgZGVhZGxv
Y2suCitkYjEgcmVhZCBzdGF0ZW1lbnQgc3VjY2VlZGVkCitkYjEgd3JpdGUgc3RhdGVtZW50IHN1
Y2NlZWRlZAorZGIxIHRyYW5zYWN0aW9uIHN1Y2NlZWRlZAorZGIyIHJlYWQgc3RhdGVtZW50IHN1
Y2NlZWRlZAorZGIyIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKK2RiMiB0cmFuc2FjdGlvbiBz
dWNjZWVkZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wYTE4YzMyMmMxNWEzNmI0MWIxNDMwNzMyM2U2Mzk2MGFkZTE2MGMx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUt
dHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJtdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVy
ZW50LWhhbmRsZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cEFu
ZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11bHRp
cGxlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFz
ZSByZXN1bHRzIGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+IAorRkFJTFVS
RTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRp
ZmZlcmVudC1oYW5kbGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUt
dHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhYjRiOTNl
ZjgzYTc2YzdlNGM5MjQ4MWRmZmYwZTUxNzdmNGFjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50
LWhhbmRsZXMuanMKQEAgLTAsMCArMSw3OCBAQAordmFyIGNvbXBsZXRlID0gMDsKKworZnVuY3Rp
b24gY2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5kIGFmdGVy
IHR3byB0cmFuc2FjdGlvbnMKKyAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworfQorCisvLyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2FzZQor
ZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7CisgICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdp
dGhTdWZmaXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVzdCIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcgbXVsdGlw
bGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJlc3VsdCBp
biBhIGRlYWRsb2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3Njgp
OworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBzdGF0ZW1l
bnRUeXBlKQoreworICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBzdGF0
ZW1lbnQgc3VjY2VlZGVkIik7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2so
ZGJOYW1lLCBzdGF0ZW1lbnRUeXBlLCBlcnJvcikKK3sKKyAgICBsb2coZGJOYW1lICsgIiAiICsg
c3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwor
fQorCisvLyBSdW5zIGEgdHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCitmdW5jdGlv
biBydW5UcmFuc2FjdGlvbihkYiwgZGJOYW1lLCB2YWwpCit7CisgICAgZGIudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHsKKyAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRlbWVudAor
ICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgW10sCisg
ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0Nh
bGxiYWNrKGRiTmFtZSwgInJlYWQiKTsgfSwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHR4LCBlcnJvcikgeyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQiLCBlcnJv
cik7IH0pOworCisgICAgICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBtYWtlIHN1
cmUgU1FMaXRlIHRyaWVzIHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhlIERCIGZp
bGUKKyAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPyk7Iiwg
W3ZhbF0sCisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50
U3VjY2Vzc0NhbGxiYWNrKGRiTmFtZSwgIndyaXRlIik7IH0sCisgICAgICAgICAgICAgICAgICAg
ICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUsICJ3
cml0ZSIsIGVycm9yKTsgfSk7CisgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAg
ICAgLy8gVHJhbnNhY3Rpb24gZmFpbHVyZSBjYWxsYmFjaworICAgICAgICAgICBsb2coZGJOYW1l
ICsgIiB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAg
Y2hlY2tDb21wbGV0aW9uKCk7CisgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgIC8v
IFRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sKKyAgICAgICAgICAgbG9nKGRiTmFtZSArICIg
dHJhbnNhY3Rpb24gc3VjY2VlZGVkIik7CisgICAgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwor
ICAgICAgIH0pOworfQorCisvLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBUZXN0IHRh
YmxlIGV4aXN0cyBiZWZvcmUgd2UgcnVuIG91ciB0ZXN0LgorLy8gVGhlcmVmb3JlLCB0aGUgdGVz
dCBjb2RlIGlzIGluIHRoZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9uIHRoYXQg
Y3JlYXRlcyB0aGUgdGFibGUuCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHRyeSB7CisgICAg
ICAgIHZhciBkYiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgZGIudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJsZSBpZiBp
dCBkb2VzIG5vdCBleGlzdAorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxF
IElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7IiwgW10sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOworICAg
ICAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBsb2coIkNyZWF0
aW5nIHRoZSBUZXN0IHRhYmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAg
ICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFibGUgd2Fz
IGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5CisgICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9wZW5UZXN0
RGF0YWJhc2UoKTsKKyAgICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgp
OworICAgICAgICAgICAgICAgIGlmIChkYjEgPT0gZGIyKQorICAgICAgICAgICAgICAgICAgICBs
b2coImZhaWx1cmU6IGRiMSA9PSBkYjIiKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAg
ICAgICAgICAgICAgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7CisgICAgICAgICAg
ICAgICAgICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0pOworICAgIH0gY2F0Y2goZXJyKSB7fQorfQorCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzU5NzQ0MDEzOTZlZmRjODc1M2E2MGZiM2U5NDgxMjQyODUwMzRjZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5z
YWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
bXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxoZWFkPgorPGJvZHkgb25sb2Fk
PSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHRoZSBkYXRh
YmFzZSBBUEkgYWxsb3dzIG11bHRpcGxlIHRyYW5zYWN0aW9ucyB0byBiZSBxdWV1ZWQgb24gdGhl
IHNhbWUgZGF0YWJhc2UgYXQgb25jZTo8YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlMVVJF
OiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4gCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODVjZGFiY2RiZGQ2NGMzYjRhMWRkNjNmMzUzMTU4Njk2MmNhZDYxOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9u
cy5qcwpAQCAtMCwwICsxLDMyIEBACit2YXIgY29tcGxldGUgPSAwOworCitmdW5jdGlvbiBjaGVj
a0NvbXBsZXRpb24oKQoreworICAgIGlmICgrK2NvbXBsZXRlID09IDIgJiYgd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYiA9IG9wZW5EYXRhYmFz
ZVdpdGhTdWZmaXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zVGVzdCIsICIxLjAiLCAiVGVzdCB0byBt
YWtlIHN1cmUgbXVsdGlwbGUgdHJhbnNhY3Rpb25zIGNhbiBiZSBxdWV1ZWQgYXQgb25jZSBmb3Ig
YW4gSFRNTDUgZGF0YWJhc2UiLCAzMjc2OCk7CisKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlv
bih0eCkgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3RhcnRlZCIpOworICAgIH0sIGZ1
bmN0aW9uKGVycikgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgRXJyb3JlZCAtICIgKyBl
cnIpOworICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgbG9nKCJUcmFuc2FjdGlvbiAxIFN1Y2NlZWRlZCIpOworICAgICAgICBjaGVja0NvbXBs
ZXRpb24oKTsKKyAgICB9KTsKKworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Cisg
ICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdGFydGVkIik7CisgICAgfSwgZnVuY3Rpb24oZXJy
KSB7CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBFcnJvcmVkIC0gIiArIGVycik7CisgICAg
ICAgIGNoZWNrQ29tcGxldGlvbigpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBsb2co
IlRyYW5zYWN0aW9uIDIgU3VjY2VlZGVkIik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwor
ICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVsbC1j
YWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVsbC1j
YWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMTE2NzUxMDZkODE2OTkxMTE0YWQ5
MWM2NjM4MGMyN2MzN2QzYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVjdCBh
biBvcHRpb25hbCBjYWxsYmFjay4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9udWxsLWNhbGxiYWNrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYTBlMWMzZmZiY2QzMzY2MTBkZmEz
N2E1ODc2OWYwMmM0ODY5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxs
RGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKwor
ICAgIHRyeSB7CisgICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiTnVsbENhbGxiYWNrcyIs
ICIxLjAiLCAiVGVzdCBmb3IgbnVsbCBjYWxsYmFja3MuIiwgMSk7CisgICAgICAgIGRiLnRyYW5z
YWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUg
VEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIsIG51bGwpOworICAgICAgICAgICAg
dHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKD8pIiwgWzFdLCBudWxsLCBu
dWxsKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVT
ICg/KSIsIFsyXSwgbnVsbCk7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5U
TyBUZXN0IFZBTFVFUyAoMykiLCBudWxsLCBudWxsLCBudWxsKTsKKyAgICAgICAgICAgIHR4LmV4
ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs0XSwgbnVsbCwKKyAgICAg
ICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHt9KTsKKyAgICAgICAgfSwgbnVsbCwgbnVs
bCk7CisKKyAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs1XSk7CisgICAg
ICAgIH0sIG51bGwsIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOworICAgIH0gY2F0Y2go
ZXJyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJI
VE1MID0gIkZBSUwiOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCis8L3Njcmlw
dD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0ICdudWxsJyBjYW4gYmUgdXNlZCB3aGVyZXZlciB3ZSBleHBlY3QgYW4gb3B0aW9uYWwg
Y2FsbGJhY2suCis8cHJlIGlkPSJjb25zb2xlIj5QQVNTPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Ut
Y3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjJmM2ZjYjZiYWRkYTEzMDUxNTI4OTZlNDhhMmExMDUzM2QyY2IxNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24t
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdFOiB1
bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJzEuMCcgZG9lcyBub3Qg
bWF0Y2ggdGhlIGN1cnJlbnRWZXJzaW9uIG9mICcnCitUaGlzIHRlc3QgdGVzdHMgb3BlbkRhdGFi
YXNlKCkncyBjcmVhdGlvbiBjYWxsYmFjay4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNl
LWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mYTk2YTY3NTRkOGRmNTc0MDBjZTQ2YzlkY2NhMjNlNWM0Mjc1ODQ1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1j
YWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitBTEVS
VDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBh
IGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0IHRo
ZSBvcGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0
IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThhNDY2NGJlMjBmZmZjNWJkODk5OWVmNDQ4N2JmYWIw
ZWY1Y2I0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29w
ZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCww
ICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVz
dHMgdGhhdCB0aGUgb3BlbkRhdGFiYXNlKCkgY3JlYXRpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGlu
IHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3Zh
ciBjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAg
IGlmICgoKytjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID09IDIpICYmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7Cit9CisKK2Z1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKQoreworICAgIGFsZXJ0KCJG
QUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKworZnVu
Y3Rpb24gY3JlYXRpb25DYWxsYmFjazIoZGIpCit7CisgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5i
YXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1l
bnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOworZG9jdW1lbnQuYm9keS5i
YXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0
ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0
SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAgICAgICAiZnVuY3Rpb24gY3JlYXRpb25D
YWxsYmFjazEoZGIpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0KGRv
Y3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2
YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBkYjEg
PSBvcGVuRGF0YWJhc2UoJ09wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxk
JywgJzEuMCcsICcnLCAxLCBjcmVhdGlvbkNhbGxiYWNrMSk7Iik7CisKKyAgICB2YXIgZGIyID0g
b3BlbkRhdGFiYXNlKCdPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDIn
LCAnMS4wJywgJycsIDEsIGNyZWF0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1k
YXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4MTY0
NWM0NWVlNzRkNGI2MWFhMDE5ODAzNGE5NGE4ZDRhN2UzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNr
Lmh0bWwKQEAgLTAsMCArMSw5MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlv
biBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIp
LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0
KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQor
eworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuc2V0RGF0YWJhc2VRdW90YSgzMjc2OCk7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIgdHJhbnNhY3Rpb25zUnVuID0gMDsKKworICAgIC8v
IE9wZW4gYSBuZXcgZGF0YWJhc2Ugd2l0aCBhIGNyZWF0aW9uIGNhbGxiYWNrLCBhbmQgbWFrZSBz
dXJlIHRoZSBjcmVhdGlvbiBjYWxsYmFjayBpcyBxdWV1ZWQKKyAgICB2YXIgY3JlYXRpb25DYWxs
YmFja0NhbGxlZDEgPSBmYWxzZTsKKyAgICB2YXIgZGIxTmFtZSA9ICJPcGVuRGF0YWJhc2VDcmVh
dGlvbkNhbGxiYWNrMSIgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgpOworICAgIHZhciBkYjEgPSBv
cGVuRGF0YWJhc2UoZGIxTmFtZSwgIjEuMCIsICIiLCAxLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZnVuY3Rpb24oZGIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVh
dGlvbkNhbGxiYWNrQ2FsbGVkMSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGRiLnZlcnNpb24gIT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFjayB3YXMgY2FsbGVkIHdpdGggYSBkYXRhYmFzZSB3
aXRoIHZlcnNpb24gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBk
Yi52ZXJzaW9uICsgIjsgZW1wdHkgc3RyaW5nIGV4cGVjdGVkLiIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAvLyBQdXR0
aW5nIHRoaXMgY29kZSBpbnNpZGUgYSB0cmFuc2FjdGlvbiBvbiAnZGIxJyBtYWtlcyBzdXJlIHRo
YXQgaXQgaXMgZXhlY3V0ZWQgYWZ0ZXIKKyAgICAvLyB0aGUgY3JlYXRpb24gY2FsbGJhY2sgaXMu
CisgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmICghY3JlYXRp
b25DYWxsYmFja0NhbGxlZDEpIHsKKyAgICAgICAgICAgIGxvZygiQ3JlYXRpb24gY2FsbGJhY2sg
Zm9yIGRiMSB3YXMgbm90IGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0gMikKKyAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKKworICAgIC8vIFRyeSB0byBvcGVuIGFub3RoZXIgaGFu
ZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlLgorICAgIC8vIFNpbmNlIHRoZSB2ZXJzaW9uIG9mIHRo
aXMgZGF0YWJhc2UgaXMgIiIgKGVtcHR5IHN0cmluZyksIG9wZW5EYXRhYmFzZSgpIHNob3VsZCBy
ZXR1cm4KKyAgICAvLyBhIG51bGwgaGFuZGxlIGFuZCB0aHJvdyBhIElOVkFMSURfU1RBVEVfRVJS
IGV4Y2VwdGlvbi4KKyAgICB2YXIgZGIxRmFpbCA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAg
ZGIxRmFpbCA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEpOworICAgICAgICBs
b2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkOyBhbiBJTlZB
TElEX1NUQVRFX0VSUiBleGNlcHRpb24gc2hvdWxkJ3ZlIGJlZW4gdGhyb3duLiIpOworICAgICAg
ICBmaW5pc2hUZXN0KCk7CisgICAgfSBjYXRjaChlcnIpIHsKKyAgICAgICAgaWYgKGRiMUZhaWwp
IHsKKyAgICAgICAgICAgIGxvZygiZGIxRmFpbCBzaG91bGQgaGF2ZSBiZWVuIG51bGwuIik7Cisg
ICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBPcGVu
IGEgaGFuZGxlIHRvIGFub3RoZXIgZGF0YWJhc2UsIGZpcnN0IHdpdGhvdXQgYSBjcmVhdGlvbiBj
YWxsYmFjaywgdGhlbiB3aXRoIG9uZS4KKyAgICAvLyBNYWtlIHN1cmUgdGhlIGNyZWF0aW9uIGNh
bGxiYWNrIGlzIG5vdCBjYWxsZWQuCisgICAgdmFyIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyID0g
ZmFsc2U7CisgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3BlbkRhdGFiYXNlQ3JlYXRpb25D
YWxsYmFjazIiLCAiMS4wIiwgIiIsIDEpOworICAgIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3BlbkRh
dGFiYXNlQ3JlYXRpb25DYWxsYmFjazIiLCAiMS4wIiwgIiIsIDEsCisgICAgICAgICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uKGRiKSB7IGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyID0gdHJ1ZTsgfSk7
CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmIChjcmVhdGlv
bkNhbGxiYWNrQ2FsbGVkMikgeworICAgICAgICAgICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFjayBm
b3IgZGIyIHNob3VsZCBub3QgaGF2ZSBiZWVuIGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZpbmlz
aFRlc3QoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0gMikK
KyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hl
YWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KK1RoaXMgdGVzdCB0ZXN0cyBvcGVuRGF0
YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3ByZT4K
KzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzJlMmZmYzMwZDRhNDY1YmRkZWJjOTliZjAzNjc5NTk5ZWY5OGZmNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Ut
ZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUaGlzIHRlc3RzIHRo
YXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmluZyBkb2Vz
IG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgorU1VDQ0VTUyEgRGlkIG5vdCB0
aHJvdyBhbiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2MDQx
MTM4M2YxOGNmODBjOWM0YWQ4MzhmNzE1NDliNjljNjY3NmMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRt
bApAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAKKyAgICB0cnkgeyAgICAK
KyAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCc1NTYyNDcwVGVzdCcsICcnLCAnVGVzdCBm
b3IgPHJkYXI6Ly9wcm9ibGVtLzU1NjI0NzA+IG9wZW5EYXRhYmFzZSBkb2VzIG5vdCB3b3JrIHdo
ZW4gdGhlIHZlcnNpb24gc3RyaW5nIGlzIGVtcHR5JywgMSk7CisgICAgfSBjYXRjaCAoZSkgewor
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gJ0ZB
SUxVUkUnCisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRl
c3QoKSI+Cis8ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRoIGFu
IGVtcHR5IHZlcnNpb24gc3RyaW5nIGRvZXMgbm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0byBiZSB0
aHJvd24uCis8ZGl2IGlkPSJyZXN1bHQiPgorU1VDQ0VTUyEgRGlkIG5vdCB0aHJvdyBhbiBleGNl
cHRpb24uCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFhZThkYjZi
MzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRh
dGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorVGhpcyB0ZXN0
cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNuJ3Qg
YXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MmE5MjY0ZGUzM2RmMTE3NDQ5YjRjM2U1M2E2N2NmZWY5NjQ0MWJmZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5o
dG1sCkBAIC0wLDAgKzEsMjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24g
cnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICB9CisKKyAgICB0cnkgeworICAg
ICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4nLCAnJywgJ1Rlc3QgZm9y
IGJ1ZyAzNjQ3MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNyZWF0aW5nRGF0YWJhc2Un
LCAxMDAwMDAwMCk7CisgICAgfSBjYXRjaCAoZXJyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKKyAgICB9Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGhpcyB0ZXN0cyB0
aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNuJ3QgYXNz
ZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KKzxkaXYgaWQ9InJlc3VsdCI+CitGQUlMOiBXZSBzaG91bGRu
J3QgaGF2ZSBiZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0
YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDFkOTk2MDM0NGNmNTA4NDJmN2ZlOTU4ZWU3YzZkZTI3NjRiMmRmOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0
LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNT
QUdFOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJ3Rlc3QnIGRv
ZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50VmVyc2lvbiBvZiAnJworVGhpcyB0ZXN0cyB0aGF0IGNh
bGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0cyB0aGUg
Y3VycmVudCB2ZXJzaW9uIG9mIHRoYXQgZGF0YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmluZyBhbmQg
c3Vic2VxdWVudCBhdHRlbXB0cyB0byBvcGVuIHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlmZmVyZW50
IGV4cGVjdGVkIHZlcnNpb24gdGhyb3cgYW4gZXhjZXB0aW9uLgorU1VDQ0VTUywgYW4gZXhjZXB0
aW9uIHdhcyB0aHJvd24uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlvbiAx
MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1z
ZXQtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1k
YXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNjA3ZmQxOWM5ZDc4
NTFkMmEwZWZhNDNlMzUwNDBhYzk5ZWRmNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwKQEAg
LTAsMCArMSwyNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0
KCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIH0KKyAgICAKKyAgICB0cnkgeyAgICAKKyAg
ICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3QnLCAnJywgJ1Rlc3QgZm9yIGJ1
ZyAyODQxNzogb3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVyc2lv
biB1cCBpbmNvcnJlY3RseScsIDApOworICAgICAgICAvLyBUaGUgbmV4dCBvcGVuRGF0YWJhc2Ug
Y2FsbCBzaG91bGQgZmFpbCBiZWNhdXNlIHRoZSBkYXRhYmFzZSB2ZXJzaW9uIHdhcyBzZXQgdG8g
JycgYnkgdGhlIGNhbGwgYWJvdmUsIGFuZCBub3cgd2UgYXJlIGV4cGVjdGluZyBhIGRpZmZlcmVu
dCB2ZXJzaW9uLgorICAgICAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3QnLCAn
dGVzdCcsICdUZXN0IGZvciBidWcgMjg0MTc6IG9wZW5EYXRhYmFzZSgpIHdpdGggZW1wdHkgdmVy
c2lvbiBzZXRzIGRiIHZlcnNpb24gdXAgaW5jb3JyZWN0bHknLCAwKTsKKyAgICB9IGNhdGNoIChl
KSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwg
PSAnU1VDQ0VTUywgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uICcgKyBlOworICAgIH0KK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5UaGlzIHRl
c3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmlu
ZyBzZXRzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhhdCBkYXRhYmFzZSB0byB0aGUgZW1wdHkg
c3RyaW5nIGFuZCBzdWJzZXF1ZW50IGF0dGVtcHRzIHRvIG9wZW4gdGhlIGRhdGFiYXNlIHdpdGgg
YSBkaWZmZXJlbnQgZXhwZWN0ZWQgdmVyc2lvbiB0aHJvdyBhbiBleGNlcHRpb24uPC9kaXY+Cis8
ZGl2IGlkPSJyZXN1bHQiPgorRkFJTFVSRSAtIGFuIGV4Y2VwdGlvbiB3YXMgZXhwZWN0ZWQuCis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10
cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNhYzhhZmNl
YmUxMWQ2MTA3ZWU4ZDhlNzY4NDFiMzU2YWJlMDM2MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4t
cHJvZ3Jlc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBpcyBhIHRlc3QgdG8g
c2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzIHJ1bm5pbmcg
b24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJlc3VsdHMgaW4gYSBk
ZWFkbG9jay4KK29wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1w
cm9ncmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13
aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwN2ExYTQ1Yzlj
MjM0OTU0YmUyZTAwOTdlOTA3OWI2NTQ3NzFjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXBy
b2dyZXNzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJv
cGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KK1RoaXMgaXMgYSB0
ZXN0IHRvIHNlZSBpZiBvcGVuaW5nIGEgZGF0YWJhc2Ugd2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBy
dW5uaW5nIG9uIGEgZGlmZmVyZW50IGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRz
IGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRp
ZG4ndCBydW4uCis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJv
Z3Jlc3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxl
LXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMWEwYzAxNGUyMzY1OTBl
NzY0NDBhN2E0N2EwNGQwMTY0Y2EzYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNz
LmpzCkBAIC0wLDAgKzEsNDEgQEAKKy8vIE9wZW5zIHRoZSBkYXRhYmFzZSB1c2VkIGluIHRoaXMg
dGVzdCBjYXNlCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1cm4gb3Bl
bkRhdGFiYXNlV2l0aFN1ZmZpeCgiT3BlbkRhdGFiYXNlV2hpbGVUcmFuc2FjdGlvbkluUHJvZ3Jl
c3NUZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBjYWxs
aW5nIG9wZW5EYXRhYmFzZSgpIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMgaW4gcHJvZ3Jlc3Mgb24g
YSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvZXMgbm90IHJlc3VsdCBp
biBhIGRlYWRsb2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjEwMDAw
MCk7IC8vIDJNQiArIGVwc2lsb24KK30KKworLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yODIwNworLy8gSW4gb3JkZXIgdG8gdHJpZ2dlciB0aGlzIGJ1Zywg
dGhlIHRyYW5zYWN0aW9uIG11c3QgYWNxdWlyZSBhbiBleGNsdXNpdmUKKy8vIGxvY2sgb24gdGhl
IERCIGZpbGUgYmVmb3JlIHRyeWluZyB0byBvYnRhaW4gYSBzZWNvbmQgaGFuZGxlIHRvIHRoZSBz
YW1lIERCLgorLy8gVGhlIG9ubHkgd2F5IHRvIGZvcmNlIFNRTGl0ZSB0byBvYnRhaW4gYW4gZXhj
bHVzaXZlIGxvY2sgaXMgdG8gY2hhbmdlIG1vcmUKKy8vIHRoYW4gY2FjaGVfc2l6ZSAqIHBhZ2Vf
c2l6ZSBieXRlcyBpbiB0aGUgZGF0YWJhc2UuIFRoZSBkZWZhdWx0IHZhbHVlIGZvcgorLy8gY2Fj
aGVfc2l6ZSBpcyAyMDAwIHBhZ2VzLCBhbmQgdGhlIGRlZmF1bHQgcGFnZV9zaXplIGlzIDEwMjQg
Ynl0ZXMuIFNvIHRoZQorLy8gc2l6ZSBvZiB0aGUgYmxvYiBtdXN0IGJlIGF0IGxlYXN0IDJNQi4K
K2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYjEgPSBvcGVuVGVzdERhdGFiYXNlKCk7
CisgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIC8vIENyZWF0ZSB0
aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5vdCBleGlzdAorICAgICAgICB0eC5leGVjdXRlU3Fs
KCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gQkxPQik7Iik7CisgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTIChaRVJPQkxPQigyMDk3MTUy
KSk7IiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxvZygib3BlbkRhdGFiYXNlKCkgc3VjY2VlZGVkLiIpOwor
ICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24o
dHgsIGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygiRXhlY3V0aW5nIHN0
YXRlbWVudCBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAgICAg
ICB9KTsKKworICAgICAgICAvLyBDbGVhbiB1cCB0aGUgREIgdG8gYWxsb3cgZm9yIHJlcGVhdGVk
IHJ1bnMgb2YgdGhpcyB0ZXN0CisgICAgICAgIC8vIHdpdGhvdXQgbmVlZGluZyB0byBpbmNyZWFz
ZSB0aGUgZGVmYXVsdCBhbGxvd2VkIHF1b3RhICg1TUIpCisgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IkRFTEVURSBGUk9NIFRlc3Q7Iik7CisgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAg
bG9nKCJUcmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICB9LCBmdW5j
dGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKK30KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9y
ZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJp
dmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFm
NjdkMmZhYzRmMjZlNmYyZDcyODAwNjg4MGQyZjVmZjUzMjkwOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3Jp
dGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRo
YXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBkdXJpbmcgcHJpdmF0ZSBicm93c2lu
ZyBmYWlsLgorU2V0dXAgc3RhdGVtZW50IDEgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorU2V0dXAg
c3RhdGVtZW50IDIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorUHJpdmF0ZSBicm93c2luZyBzdGF0
ZW1lbnQgMSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3RhdGVt
ZW50ICgxIG5vdCBhdXRob3JpemVkKQorUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMiBjb21w
bGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3Qg
YXV0aG9yaXplZCkKK1ByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50IDMgY29tcGxldGVkIHdpdGgg
YW4gZXJyb3IKK2NvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQp
CitQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA0IGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yCitj
b3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorUHJpdmF0ZSBi
cm93c2luZyBzdGF0ZW1lbnQgNSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHBy
ZXBhcmUgc3RhdGVtZW50ICgyMyBhY2Nlc3MgdG8gUHJpdmF0ZVRlc3QxLnJhbmRvbURhdGEgaXMg
cHJvaGliaXRlZCkKK1Rlc3QgZW5kZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI5YjU4ODJiNGRlMWM1NjIwNjRjNWU4NDc3MDEwNjk3OWEwMWZjMTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dzaW5n
LW5vcmVhZC1ub3dyaXRlLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PgorCitmdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQoreworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2UgKyAi
XG4iOworfQorCit2YXIgc2V0dXBTdGF0ZW1lbnRzID0gWworICAgICJDUkVBVEUgVEFCTEUgSUYg
Tk9UIEVYSVNUUyBQcml2YXRlVGVzdDEgKHJhbmRvbURhdGEpIiwKKyAgICAiSU5TRVJUIElOVE8g
UHJpdmF0ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiCitdOworCit2YXIgcHJpdmF0ZUJyb3dz
aW5nU3RhdGVtZW50cyA9IFsKKyAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUHJpdmF0
ZVRlc3QyIChyYW5kb21EYXRhKSIsCisgICAgIkRFTEVURSBGUk9NIFByaXZhdGVUZXN0MSIsCisg
ICAgIkRST1AgVEFCTEUgUHJpdmF0ZVRlc3QxIiwKKyAgICAiSU5TRVJUIElOVE8gUHJpdmF0ZVRl
c3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiLAorICAgICJTRUxFQ1QgKiBGUk9NIFByaXZhdGVUZXN0
MSIKK107CisKK3ZhciBjb21wbGV0ZWQgPSAwOwordmFyIHRoZVRyYW5zYWN0aW9uOworCitmdW5j
dGlvbiBzZXR1cFN1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQoreworICAgICsrY29tcGxldGVk
OworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBsZXRlZCAr
ICIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSIpOworICAgIGNoZWNrU2V0dXBDb21wbGV0ZSgpOwor
fQorCitmdW5jdGlvbiBzZXR1cEVycm9yRnVuY3Rpb24odHgsIGVycm9yKQoreworICAgICsrY29t
cGxldGVkOworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBs
ZXRlZCArICIgY29tcGxldGVkIHdpdGggYW4gZXJyb3JcbiIgKyBlcnJvci5tZXNzYWdlKTsKKyAg
ICBjaGVja1NldHVwQ29tcGxldGUoKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dzaW5nU3Vj
Y2Vzc0Z1bmN0aW9uKHR4LCByZXN1bHQpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3JpdGVN
ZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQgKyAi
IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dzaW5n
RXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3JpdGVN
ZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQgKyAi
IGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2FnZSk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitmdW5jdGlvbiBydW5TZXR1cCh0cmFuc2FjdGlvbikKK3sKKyAgICB0aGVU
cmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uOworICAgIGZvciAoaSBpbiBzZXR1cFN0YXRlbWVudHMp
CisgICAgICAgIHRoZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoc2V0dXBTdGF0ZW1lbnRzW2ldLCBb
XSwgc2V0dXBTdWNjZXNzRnVuY3Rpb24sIHNldHVwRXJyb3JGdW5jdGlvbik7Cit9CisKK2Z1bmN0
aW9uIGNoZWNrU2V0dXBDb21wbGV0ZSgpCit7CisgICAgaWYgKGNvbXBsZXRlZCA9PSBzZXR1cFN0
YXRlbWVudHMubGVuZ3RoKQorICAgICAgICBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpOworfQor
CitmdW5jdGlvbiBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCit7CisgICAgY29tcGxldGVkID0g
MDsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAgCisg
ICAgZm9yIChpIGluIHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHMpCisgICAgICAgIHRoZVRyYW5z
YWN0aW9uLmV4ZWN1dGVTcWwocHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50c1tpXSwgW10sIHByaXZh
dGVCcm93c2luZ1N1Y2Nlc3NGdW5jdGlvbiwgcHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5jdGlvbik7
Cit9CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJUZXN0
IGVuZGVkIik7CisgICAgCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBy
dW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHZhciBkYXRhYmFzZSA9
IG9wZW5EYXRhYmFzZSgiUHJpdmF0ZUJyb3dzaW5nTm9SZWFkTm9Xcml0ZVRlc3QiLCAiMS4wIiwg
IlRlc3QgcHJpdmF0ZSBicm93c2luZyBubyByZWFkL3dyaXRlIHNhZmV0eSIsIDEpOworICAgIGRh
dGFiYXNlLnRyYW5zYWN0aW9uKHJ1blNldHVwLCBlbmRUZXN0LCBlbmRUZXN0KTsKK30KKworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFiYXNlIGR1cmluZyBwcml2
YXRlIGJyb3dzaW5nIGZhaWwuPGJyPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10
cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10
cmFja2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NjBmMGMwNGRkNzU2ZmM4ZDQ3NGIz
NzliZTNhNWZjN2Y3Y2U4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitVSSBE
RUxFR0FURSBEQVRBQkFTRSBDQUxMQkFDSzogZXhjZWVkZWREYXRhYmFzZVF1b3RhRm9yU2VjdXJp
dHlPcmlnaW46e2ZpbGUsICwgMH0gZGF0YWJhc2U6UXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyCitU
aGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5mb3JjZWQgcGVy
LW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHByaW9yIHRvIGh0
dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8yOTk4My4KK1Ro
ZSB0ZXN0IGNsZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3IgdGhlIG9yaWdp
biB0byA0MGssIHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8gdHdvIGRhdGFi
YXNlcy4gSWYgdGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0IHNob3VsZCBm
YWlsLCB0aGUgVUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBleGNlZWRlZCBx
dW90YSBhbmQgc2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmlnaW4uIEluc2Vy
dGluZyAxN2sgb2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBhZ2Fpbi4KK0Fk
ZGluZyBhIHRhYmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBkYXRhCitBZGRp
bmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEgZXhjZXB0aW9u
IC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRoZSBz
dG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxvdyBt
b3JlIHNwYWNlCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNv
bWUgZGF0YQorRG9uZSBhZGRpbmcgZGF0YQorVGVzdCBDb21wbGV0ZQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTUyNTIz
YjE2M2YwNTQ1NTg4YTg4ZWIxMzEwYmRmZDhjNjYyM2ExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApAQCAtMCwwICsxLDEx
MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cit2YXIgZGF0YWJhc2UxID0gbnVsbDsKK3Zh
ciBkYXRhYmFzZTIgPSBudWxsOwordmFyIGRhdGFiYXNlMyA9IG51bGw7CisKK2Z1bmN0aW9uIGxv
ZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5u
ZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQor
eworICAgIGxvZygiVGVzdCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30K
KworZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAgbG9n
KCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hU
ZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJyb3Ip
Cit7CisgICAgLy8gV2Ugb25seSBleHBlY3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgZGF0YWJhc2Uy
CisgICAgaWYgKGRiID09IGRhdGFiYXNlMikgeworICAgICAgICBsb2coIkV4cGVjdGVkIHF1b3Rh
IGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9u
KGRiKTsKKyAgICB9IGVsc2UgeworICAgICAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0g
IiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCitm
dW5jdGlvbiBjaGVja0NvbXBsZXRpb24oZGIpCit7CisgICAgbG9nKCJEb25lIGFkZGluZyBkYXRh
Iik7CisKKyAgICBpZiAoZGF0YWJhc2UzKSB7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9
IGVsc2UgaWYgKGRhdGFiYXNlMikgeworICAgICAgICBkYXRhYmFzZTMgPSBvcGVuRGF0YWJhc2Uo
IlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMyIsICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdl
bWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7CisgICAgICAgIHRlc3REYXRhYmFzZShkYXRhYmFz
ZTMpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRhdGFiYXNlMiA9IG9wZW5EYXRhYmFzZSgiUXVv
dGFNYW5hZ2VtZW50RGF0YWJhc2UyIiwgIjEuMCIsICJUZXN0IGZvciBxdW90YSBtYW5hZ2VtZW50
IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKKyAgICAgICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMik7
CisgICAgfQorfQorCitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOworICAg
ICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFM
VUVTIChaRVJPQkxPQigxNzQwOCkpIiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsKKyAgICAgICAgaWYg
KGRiID09IGRhdGFiYXNlMikgeworICAgICAgICAgICAgLy8gVHJ5IHRvIHJ1biB0aGlzIHN0YXRl
bWVudCBvbiAnZGF0YWJhc2UyJyBvbmx5LgorICAgICAgICAgICAgLy8gSXQgc2hvdWxkIG5vdCBi
ZSBydW4sIGJlY2F1c2UgdGhlIHByZXZpb3VzIHN0YXRlbWVudCBzaG91bGQndmUKKyAgICAgICAg
ICAgIC8vIHJlc3VsdGVkIGluIGEgZmFpbHVyZSB0aGF0IG1hZGUgc3FsaXRlIHJvbGwgYmFjayB0
aGUgZW50aXJlIHRyYW5zYWN0aW9uLgorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJU
IElOVE8gRGF0YVRlc3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoWkVST0JMT0IoMTApKSIsIFtdLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2
ZSBiZWVuIHJ1bi4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7
CisgICAgICAgIH0KKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICB0cmFuc2FjdGlv
bkVycm9yRnVuY3Rpb24oZGIsIGVycm9yKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAg
Y2hlY2tDb21wbGV0aW9uKGRiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdERhdGFiYXNl
KGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxvZygi
QWRkaW5nIGEgdGFibGUiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIERh
dGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLAorICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KHR4LCByZXN1bHQpIHsgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7CisgICAgfSwgZnVuY3Rp
b24oZXJyb3IpIHsKKyAgICAgICAgdHJhbnNhY3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBlcnJvcik7
CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGFkZERhdGEoZGIpOworICAgIH0pOworfQor
CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOwor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDQwOTYwKTsKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZGF0YWJhc2UxID0g
b3BlbkRhdGFiYXNlKCJRdW90YU1hbmFnZW1lbnREYXRhYmFzZTEiLCAiMS4wIiwgIlRlc3QgZm9y
IHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81NjI4NDY4PiIsIDEpOworICAgIHRlc3REYXRhYmFz
ZShkYXRhYmFzZTEpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJl
IGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2Vy
ZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2Vz
ZXQvMjk5ODMuPGJyPgorVGhlIHRlc3QgY2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1
b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRh
dGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29u
ZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQg
b2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0
aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBz
dWNjZWVkIGFnYWluLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3ByZT4KKzwvYm9keT4KKworPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQtd3Jp
dGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10
b2dldGhlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4OTc5YzNjYjUwN2Q5MjAwMDU3N2Y4
ZmZjYzc3MDQ3ZjIxNTdkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBhbmQg
d3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFi
YXNlIGRvbid0IHJ1biB0b2dldGhlci4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2Fj
dGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1
Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1
bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJh
bnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9u
cy1kb250LXJ1bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVh
ZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTFkYTM1Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBmOGZjOTg1NgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0
aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0
aGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0
KCk7Ij4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBv
biBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBkb24ndCBydW4gdG9nZXRo
ZXIuPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8
L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1k
b250LXJ1bi10b2dldGhlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjgxN2JhZDMzMDczNzFkN2FkMTk5YjQw
YmYxMTliNWIwNTYzN2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpzCkBA
IC0wLDAgKzEsODEgQEAKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQoreworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7CisgICAgcmV0
dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9uc0RvbnRS
dW5Ub2dldGhlclRlc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAi
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0
aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFuZGxlcyB0
byB0aGUgc2FtZSBEQiBkb24ndCBydW4gYXQgdGhlIHNhbWUgdGltZS4iLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKK30KKwordmFyIHJlYWRUcmFuc2FjdGlvbnNJ
blByb2dyZXNzID0gMDsKK3ZhciB3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwordmFy
IHRvdGFsVHJhbnNhY3Rpb25zID0gMDsKK3ZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7CisK
K2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uKGRiLCByZWFkT25seSkKK3sKKyAgICB2YXIgdHJhbnNh
Y3Rpb25GdW5jdGlvbiA9IChyZWFkT25seSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRiLnRyYW5z
YWN0aW9uKTsKKyAgICB0cmFuc2FjdGlvbkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9uKHR4KSB7
CisgICAgICAgICAgICBpZiAocmVhZE9ubHkpIHsKKyAgICAgICAgICAgICAgICBpZiAod3JpdGVU
cmFuc2FjdGlvbnNJblByb2dyZXNzICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJS
ZWFkIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGluIHByb2dy
ZXNzLiIpOworICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICgocmVhZFRyYW5zYWN0aW9u
c0luUHJvZ3Jlc3MgIT0gMCkgfHwgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAwKSkg
eworICAgICAgICAgICAgICAgICAgICBsb2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdo
aWxlIGFub3RoZXIgdHJhbnNhY3Rpb24gaW4gcHJvZ3Jlc3MuIik7CisgICAgICAgICAgICAgICAg
ICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
d3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBGUk9NIFRlc3Q7Iik7CisgICAgICAgIH0sIGZ1bmN0
aW9uKGVycm9yKSB7CisgICAgICAgICAgICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDogIldyaXRl
IikgKyAiIHRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAg
ICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICBmaW5pc2hlZFRyYW5zYWN0aW9ucysrOworICAgICAgICAgICAgIGlmIChyZWFkT25seSkKKyAg
ICAgICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKKyAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwor
ICAgICAgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4iKTsKKyAgICAgICAgICAg
ICBpZiAoKGZpbmlzaGVkVHJhbnNhY3Rpb25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAmJiAocmVh
ZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9n
cmVzcyA9PSAwKSkKKyAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICB9
KTsKK30KKworZnVuY3Rpb24gcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBk
YjMpCit7CisgICAgdG90YWxUcmFuc2FjdGlvbnMgPSAxMDsKKyAgICBmaW5pc2hlZFRyYW5zYWN0
aW9ucyA9IDA7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKKyAgICBydW5UcmFuc2Fj
dGlvbihkYjIsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOworICAgIHJ1
blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0cnVlKTsK
KyAgICBydW5UcmFuc2FjdGlvbihkYjMsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwg
ZmFsc2UpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgZmFsc2UpOworICAgIHJ1blRyYW5zYWN0
aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKK30KKworZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOworICAg
IHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7CisgICAgdmFyIGRiMyA9IG9wZW5UZXN0RGF0
YWJhc2UoKTsKKyAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBpbnQp
OyIpOworICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9nKCJDYW5u
b3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAgICAg
ICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
cnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpOworICAgICAgICB9KTsK
K30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rp
b25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNThkMmRmZTZhYmIxYTMxNDU3ZWI1MTc5ZWRmNGNmMDAwODFmNjg1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFu
c2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdHdvIHJlYWQtb25seSB0cmFuc2FjdGlvbnMgb24gZGlm
ZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcnVuIGNvbmN1cnJlbnRseS4KK1Jl
YWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJl
bnRseS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMt
cnVubmluZy1jb25jdXJyZW50bHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmQ4NjJjMWU2Y2U4MjRmNDA4
ODU4NTg0Yjk1ODcxOWI5NWNjMGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbApA
QCAtMCwwICsxLDY3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gbG9n
KG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8
YnI+IjsKK30KKworZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworfQorCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1cm4g
b3BlbkRhdGFiYXNlKCJSZWFkVHJhbnNhY3Rpb25zUnVubmluZ0NvbmN1cnJlbnRseVRlc3QiLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAgICAgICAgICAgICAi
VGVzdCB0byBtYWtlIHN1cmUgdGhhdCBtdWx0aXBsZSByZWFkIHRyYW5zYWN0aW9ucyBvbiBkaWZm
ZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2FtZSBEQiBydW4gY29uY3VycmVudGx5LiIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAzMjc2OCk7Cit9CisKK3ZhciByZWFkVHJhbnNhY3Rpb25zSW5Q
cm9ncmVzcyA9IDA7CisKK2Z1bmN0aW9uIHJ1blJlYWRUcmFuc2FjdGlvbihkYikKK3sKKyAgICBk
Yi5yZWFkVHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHJlYWRUcmFuc2Fj
dGlvbnNJblByb2dyZXNzKys7CisgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAg
ICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb24gZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7Cisg
ICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgaWYgKHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID09IDIpCisgICAgICAgICAg
ICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRseS4iKTsKKyAg
ICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzLS07CisgICAgICAgICAgICBpZiAo
cmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkKKyAgICAgICAgICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGRiMSA9IG9wZW5UZXN0
RGF0YWJhc2UoKTsKKyAgICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAg
ICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgdHguZXhl
Y3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7Iik7Cisg
ICAgICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAgIGxvZygiQ2Fu
bm90IGNyZWF0ZSB0aGUgVGVzdCB0YWJsZTogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAg
ICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgIHJ1blJlYWRUcmFuc2FjdGlvbihkYjEpOworICAgICAgICAgICAgICAgIHJ1
blJlYWRUcmFuc2FjdGlvbihkYjIpOworICAgICAgICAgICAgfSk7CisgICAgIH0gY2F0Y2goZXJy
KSB7IGxvZyhlcnIpOyB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpOyI+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0d28gcmVhZC1vbmx5IHRyYW5zYWN0aW9u
cyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBydW4gY29uY3VycmVu
dGx5Ljxicj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxZWI0
MTAyZTUxOGNkOTk2NWUzY2EwZTQwMTJiMmE1MWQ1MWZlNzgKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCkBA
IC0wLDAgKzEsMjkgQEAKK3ZhciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKKworZnVuY3Rpb24g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwg
Y2FsbGJhY2spCit7CisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7CisgICAgICAgIHJl
dHVybiBvcGVuRGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlw
dGlvbiwgc2l6ZSwgY2FsbGJhY2spOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiBvcGVu
RGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6
ZSk7CisgICAgfQorfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30K
KworZnVuY3Rpb24gc2V0TG9jYXRpb25IYXNoKGhhc2gpIHsKKyAgICBsb2NhdGlvbi5oYXNoID0g
aGFzaDsKK30KKworZnVuY3Rpb24gc2V0dXBBbmRSdW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworICAgIH0KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4
dCA9ICIiOworICAgIHJ1blRlc3QoKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1y
ZWxvYWQtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlMGYwOWNlYTcxYTViM2Q1NjBiNmQyODczNDdlMWQw
M2Y4YmE4MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9y
ZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sCkBAIC0wLDAgKzEsNTUg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7Cisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2Fn
ZSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9nKCJUZXN0
IHBhcnQgMiBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rp
b24gZXJyb3JGdW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVy
cm9yLm1lc3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gYWRkRGF0YShk
YikKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICBsb2coIklu
c2VydGluZyBzb21lIGRhdGEiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8g
RGF0YVRlc3QgKHRlc3REYXRhKSBWQUxVRVMgKD8pIiwgWyJBIl0sCisgICAgICAgICAgICBmdW5j
dGlvbih0eCwgcmVzdWx0KSB7IH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0aW9u
KGVycm9yKTsgfSk7CisgICAgfSwgZnVuY3Rpb24oKSB7IH0sIGZ1bmN0aW9uKCkgeyBmaW5pc2hU
ZXN0KCk7IH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgIH0KKworICAgIHRyeSB7CisgICAgICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgi
RGF0YWJhc2VMb2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9ja2luZyIsIDUy
NDI4ODApOworICAgICAgICBhZGREYXRhKGRhdGFiYXNlKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAg
ICAgICAgbG9nKCJFcnJvciAtIGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7CisgICAgICAgIGZp
bmlzaFRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxv
YWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5PgorCis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMv
c3RyZXNzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMv
c3RyZXNzLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk5YWYzYzc5NjFmNDI3YTg3YTZlZjdmYWFm
MGQxNGIyODliYzcyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IWRvY3R5
cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgordmFyIGRiOworCit0cnkgeworICAg
IGlmICh3aW5kb3cub3BlbkRhdGFiYXNlKSB7CisgICAgICAgIGRiID0gb3BlbkRhdGFiYXNlKCJT
dHJlc3NUZXN0MiIsICIxLjAiLCAiRGF0YWJhc2Ugc3RyZXNzIHRlc3QiLCAyMDAwMDApOworICAg
ICAgICBpZiAoIWRiKQorICAgICAgICAgICAgYWxlcnQoIkZhaWxlZCB0byBvcGVuIHRoZSBkYXRh
YmFzZSBvbiBkaXNrLiAgVGhpcyBpcyBwcm9iYWJseSBiZWNhdXNlIHRoZSB2ZXJzaW9uIHdhcyBi
YWQgb3IgdGhlcmUgaXMgbm90IGVub3VnaCBzcGFjZSBsZWZ0IGluIHRoaXMgZG9tYWluJ3MgcXVv
dGEiKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYWxlcnQoIkNvdWxkbid0IG9wZW4gdGhlIGRhdGFi
YXNlLiAgUGxlYXNlIHRyeSB3aXRoIGEgV2ViS2l0IG5pZ2h0bHkgd2l0aCB0aGlzIGZlYXR1cmUg
ZW5hYmxlZCIpOworfSBjYXRjaChlcnIpIHsgfQorCitmdW5jdGlvbiBsb2FkZWQoKQoreworICAg
IGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNF
TEVDVCBDT1VOVCgqKSBGUk9NIFdlYmtpdFN0aWNreU5vdGVzIiwgW10sIGZ1bmN0aW9uKHJlc3Vs
dCkgeworICAgICAgICAgICAgbG9hZE5vdGVzKCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKHR4LCBl
cnJvcikgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIFdlYktpdFN0
aWNreU5vdGVzIChpZCBSRUFMIFVOSVFVRSwgbm90ZSBURVhUKSIsIFtdLCBmdW5jdGlvbihyZXN1
bHQpIHsgCisgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gV2ViS2l0
U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzEsICdUZXh0J10sIGZ1bmN0
aW9uKHJlc3VsdCkgeyAKKyAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJU
IElOVE8gV2ViS2l0U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzIsICdN
b3JlIFRleHQnXSwgZnVuY3Rpb24ocmVzdWx0KSB7IAorICAgICAgICAgICAgICAgICAgICAgICAg
bG9hZE5vdGVzKCk7IAorICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24g
bG9hZE5vdGVzKCkKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAg
ICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgaWQsIG5vdGUgRlJPTSBXZWJLaXRTdGlja3lOb3RlcyIs
IFtdLCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBsb2FkTm90ZXMoKTsKKyAg
ICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICBhbGVydCgnRmFpbGVk
IHRvIHJldHJpZXZlIG5vdGVzIGZyb20gZGF0YWJhc2UgLSAnICsgZXJyb3IubWVzc2FnZSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0pOworICAgIH0pOworfQorCithZGRFdmVudExp
c3RlbmVyKCdsb2FkJywgbG9hZGVkLCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGhpcyB0ZXN0IG5lZWRzIHRvIHJ1biB3aXRob3V0IGNyYXNoZXMgYW5kIGFzc2VydGlv
biBmYWlsdXJlcyBmb3IgYSB3aGlsZS48cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mNjBjYWY1MjNiODcyOGUwYzU2NGQ2ZGE1OWFkYzZkMjg2ZmU1MmI1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorUEFTUzogcHJvcGVydHkgJ3RpbWVzdGFtcCcg
b2ssIHR5cGUgd2FzIG51bWJlcgorUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3YXMgbnVt
YmVyCitQQVNTOiBwcm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgorUEFTUzogcHJv
cGVydHkgJ3RleHQnIG9rLCB0eXBlIHdhcyBzdHJpbmcKK1BBU1M6IHByb3BlcnR5ICdibG9iJyBv
aywgdHlwZSB3YXMgc3RyaW5nCitQQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2QxYzk4Zjg0NGMwNzNiMzllYjNhNmQ1NDVmYTQwMDMzNDRkYTFiNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKQEAgLTAs
MCArMSwxMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9InNxbC1kYXRhLXR5cGVzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+CisKKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5
cGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzZmY2QwMTNiNjY3ZmJiNTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmpz
CkBAIC0wLDAgKzEsODcgQEAKKy8vZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHRoZSBqYXZhc2NyaXB0IHZhbHVlcyByZXR1cm5lZCBieSBkYXRhYmFzZSBxdWVyaWVzIGFyZSBv
ZiBzYW1lIHR5cGUgYXMgdGhlIHZhbHVlcyBwdXQgaW50byB0aGUgZGF0YWJhc2UuIik7CisKK2Z1
bmN0aW9uIHdyaXRlTWVzc2FnZVRvTG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1
bmN0aW9uIG5vdGlmeURvbmUoc3RyKSB7CisgICAgd3JpdGVNZXNzYWdlVG9Mb2coc3RyKTsKKyAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0ZXN0VmFsdWVzID0geworICAgIHRpbWVz
dGFtcDogbmV3IERhdGUoIldlZCBGZWIgMDYgMjAwOCAxMjoxNjo1MiBHTVQrMDIwMCAoRUVUKSIp
LnZhbHVlT2YoKSwKKyAgICBpZDogMTAwMSwKKyAgICByZWFsOiAxMDEuNDQ0LAorICAgIHRleHQ6
ICJXZWJLaXQgZGIgVEVYVCIsCisgICAgYmxvYjogInN1cGVyY2FsaWZyYWdpbGlzdGljIgorfTsK
KworZnVuY3Rpb24gc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKHByb3BOYW1lLCB0ZXN0VmFsdWUs
IHJlc3VsdCkgeworICAgIGlmICh0ZXN0VmFsdWUgPT0gcmVzdWx0ICYmIHR5cGVvZiB0ZXN0VmFs
dWUgPT0gdHlwZW9mIHJlc3VsdCkgeworICAgICAgICB3cml0ZU1lc3NhZ2VUb0xvZygiUEFTUzog
cHJvcGVydHkgJyIgKyBwcm9wTmFtZSArICInIG9rLCB0eXBlIHdhcyAiICsgdHlwZW9mIHJlc3Vs
dCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICB3cml0ZU1lc3NhZ2VUb0xvZygi
RkFJTDogcHJvcGVydHkgJyIgKyBwcm9wTmFtZSArICInIGZhaWxlZC4iCisgICAgICAgICsgIiBl
eHBlY3RlZDogIiArIHR5cGVvZiB0ZXN0VmFsdWUgKyAiOiciICsgdGVzdFZhbHVlICsgIicgIgor
ICAgICAgICArICIgZ290OiAiICsgdHlwZW9mIHJlc3VsdCArICI6JyIgKyByZXN1bHQgKyInIik7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiB0ZXN0REJWYWx1ZXModHgsIHJlc3Vs
dCkgeworICAgIHZhciBycyA9IHJlc3VsdC5yb3dzLml0ZW0oMCk7CisgICAgLy8gQXZvaWQgZm9y
IC4uIGluIGJlY2F1c2UgKHRoZXJldGljYWxseSkgdGhlIG9yZGVyIGNhbiBjaGFuZ2UKKyAgICBp
ID0gInRpbWVzdGFtcCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ld
LCByc1tpXSk7CisgICAgaSA9ICJpZCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0
VmFsdWVzW2ldLCByc1tpXSk7CisgICAgaSA9ICJyZWFsIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZh
bHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKKyAgICBpID0gInRleHQiOyBzaG91bGRCZVNh
bWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOworICAgIGkgPSAiYmxvYiI7
IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7CisgICAg
CisgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJMRSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtdLAor
ICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBub3RpZnlEb25lKCJQ
QVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4iKTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVuY3Rp
b24odHgsIHJlc3VsdCkgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRGF0YWJhc2Ug
Y2xlYW4gdXAgZmFpbGVkLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gZmV0Y2hEQlZh
bHVlc1N0bXQodHgsIHJlc3VsdCkgeworICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAqIEZST00g
RGF0YVR5cGVUZXN0VGFibGUiLCBbXSwKKyAgICAgICAgdGVzdERCVmFsdWVzLAorICAgICAgICBm
dW5jdGlvbih0eCxlcnJvcikgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3Ig
ZmV0Y2hpbmcgdmFsdWVzIGZyb20gdGhlIGRiLiIpCisgICAgICAgIH0pOworfQorCitmdW5jdGlv
biBpbnNlcnRUZXN0VmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7CisgICAgdHguZXhlY3V0ZVNxbCgi
SU5TRVJUIElOVE8gRGF0YVR5cGVUZXN0VGFibGUgKGlkLCByZWFsLCB0aW1lc3RhbXAsIHRleHQs
IGJsb2IpIFZBTFVFUyAoPyw/LD8sPyw/KSIsCisgICAgICAgIFt0ZXN0VmFsdWVzLmlkLCB0ZXN0
VmFsdWVzLnJlYWwsIHRlc3RWYWx1ZXMudGltZXN0YW1wLCB0ZXN0VmFsdWVzLnRleHQsIHRlc3RW
YWx1ZXMuYmxvYl0sCisgICAgICAgIGZldGNoREJWYWx1ZXNTdG10LAorICAgICAgICBmdW5jdGlv
bih0eCwgZXJyb3IpIHsKKyAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGluc2Vy
dGluZyB2YWx1ZXMgdG8gdGhlIGRiLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gY3Jl
YXRlVGVzdERCU3RtdCh0eCkKK3sKKyAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYg
Tk9UIEVYSVNUUyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQgSU5URUdFUiBVTklRVUUsIHJlYWwgUkVB
TCwgdGltZXN0YW1wIElOVEVHRVIsIHRleHQgVEVYVCwgYmxvYiBCTE9CKSIsIFtdLAorICAgICAg
ICBpbnNlcnRUZXN0VmFsdWVzU3RtdCwKKyAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7Cisg
ICAgICAgICAgICBub3RpZnlEb25lKCJGQUlMOiBFcnJvciBjcmVhdGluZyB0aGUgZGIuIik7Cisg
ICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cisg
ICAgfQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YVR5cGVUZXN0IiwgIjEuMCIsICJE
YXRhYmFzZSBmb3Igc3FsIGRhdGEgdHlwZSB0ZXN0IiwgMSk7CisgICAgaWYgKGRiKQorICAgICAg
ICBkYi50cmFuc2FjdGlvbihjcmVhdGVUZXN0REJTdG10KTsKKyAgICBlbHNlCisgICAgICAgIG5v
dGlmeURvbmUoIkZBSUw6IEVycm9yIG9wZW5pbmcgdGhlIGRiIik7Cit9CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lMTk3NzZhNWZmNzFjYWI1NzI2MWE3YWE0NGYzMGE5ODE1N2I0YzJmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IEV4Y2VwdGlv
biB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCitDT05TT0xFIE1FU1NBR0U6IENhbm5v
dCBjYWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCitUaGlzIHRlc3QgdGVzdHMgdGhlIGVy
cm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCitQQVNTOiBleHBl
Y3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBn
b3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBj
b2RlIFNZTlRBWF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhf
RVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6
IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKK1BBU1M6IGV4cGVjdGVkIGFu
ZCBnb3QgZXJyb3IgY29kZSBWRVJTSU9OX0VSUgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNzBjNmNhZmU4ODljN2U4
YmE0ZWYwOGY1OTM4N2UwZDNlMTViMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InNxbC1lcnJvci1jb2Rlcy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVzdHMg
dGhlIGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuPGJyPgor
PHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Nx
bC1lcnJvci1jb2Rlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1j
b2Rlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEyNmEzYTU4
NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVy
cm9yLWNvZGVzLmpzCkBAIC0wLDAgKzEsMTE0IEBACitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciBUT1RBTF9URVNUUyA9IDc7Cit2YXIg
dGVzdHNSdW4gPSAwOworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKGVycm9yLCBl
eHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgaWYgKGVycm9yLmNvZGUgPT0gZXJyb3JbZXhw
ZWN0ZWRFcnJvckNvZGVOYW1lXSkgeworICAgICAgICBsb2coIlBBU1M6IGV4cGVjdGVkIGFuZCBn
b3QgZXJyb3IgY29kZSAiICsgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKKyAgICAgICAgaWYgKCsr
dGVzdHNSdW4gPT0gVE9UQUxfVEVTVFMpCisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgbG9nKCJGQUlMOiBleHBlY3RlZCBlcnJvciBjb2RlICIgKyBleHBl
Y3RlZEVycm9yQ29kZU5hbWUgKyAiICgiICsgZXJyb3JbZXhwZWN0ZWRFcnJvckNvZGVOYW1lXSAr
ICIpOyBnb3QgIiArIGVycm9yLmNvZGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQor
fQorCitmdW5jdGlvbiB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjaygpCit7CisgICAgbG9nKCJG
QUlMOiBhIHRyYW5zYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIpOworICAgIGZp
bmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uKGRiLCB0cmFuc2FjdGlv
bkNhbGxiYWNrLCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgZGIudHJhbnNhY3Rpb24o
dHJhbnNhY3Rpb25DYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihlcnJvcikg
eworICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soZXJyb3Is
IGV4cGVjdGVkRXJyb3JDb2RlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgfSwgdHJhbnNhY3Rp
b25TdWNjZXNzQ2FsbGJhY2spOworfQorCitmdW5jdGlvbiB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NF
eGNlcHRpb24oZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkgeyB0
aHJvdyAiRXhjZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4iOyB9LCAiVU5L
Tk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1c2VP
ZlN0YXRlbWVudEZhaWx1cmUoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAg
ICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiQkFEIFNUQVRFTUVOVCIsIFtdLCBudWxsLCBmdW5jdGlvbih0eCwgZXJyb3Ip
IHsgcmV0dXJuIHRydWU7IH0pOworICAgICAgICAgICAgICAgICAgICB9LCAiVU5LTk9XTl9FUlIi
KTsKK30KKworZnVuY3Rpb24gdGVzdEludmFsaWRTdGF0ZW1lbnQoZGIpCit7CisgICAgdGVzdFRy
YW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkgeyB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVNRU5U
Iik7IH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RJbmNvcnJlY3ROdW1iZXJP
ZkJpbmRQYXJhbWV0ZXJzKGRiKQoreworICAgIHRlc3RUcmFuc2FjdGlvbihkYiwKKyAgICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHR4LmV4
ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmROdW1iZXJUZXN0IChG
b28gSU5ULCBCYXIgSU5UKSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiSU5TRVJUIElOVE8gQmFkQmluZE51bWJlclRlc3QgVkFMVUVTICg/LCA/KSIsIFsxXSk7Cisg
ICAgICAgICAgICAgICAgICAgIH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RC
aW5kUGFyYW1ldGVyT2ZXcm9uZ1R5cGUoZGIpCit7CisgICAgdmFyIGJhZFN0cmluZyA9IHsgfTsK
KyAgICBiYWRTdHJpbmcudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgdGhyb3cgIkNhbm5vdCBjYWxs
IHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuIiB9OworCisgICAgdGVzdFRyYW5zYWN0aW9uKGRi
LCBmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYg
Tk9UIEVYSVNUUyBCYWRCaW5kVHlwZVRlc3QgKEZvbyBURVhUKSIpOworICAgICAgICB0eC5leGVj
dXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kVHlwZVRlc3QgVkFMVUVTICg/KSIsIFtiYWRTdHJp
bmddKTsKKyAgICB9LCAiVU5LTk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFF1b3RhRXhj
ZWVkZWQoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAgICAgICAgICAgICAg
ICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgi
Q1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUXVvdGFUZXN0IChGb28gQkxPQikiKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFF1b3RhVGVzdCBW
QUxVRVMgKFpFUk9CTE9CKDEwICogMTAyNCAqIDEwMjQpKSIpOworICAgICAgICAgICAgICAgICAg
ICB9LCAiUVVPVEFfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RWZXJzaW9uTWlzbWF0Y2goZGIp
Cit7CisgICAgLy8gVXNlIGFub3RoZXIgREIgaGFuZGxlIHRvIGNoYW5nZSB0aGUgdmVyc2lvbi4g
SG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIERCIHZlcnNpb24gaXMgbm90
CisgICAgLy8gY2hhbmdlZCBiZWZvcmUgdGhlIHRyYW5zYWN0aW9ucyBpbiB0aGUgb3RoZXIgdGVz
dHMgaGF2ZSBydW4sIHdlIG5lZWQgdG8gZG8gaXQgaW4gYSB0cmFuc2FjdGlvbiBvbiAnZGInLgor
ICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHZhciBkYjIgPSBvcGVu
RGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVzVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhl
IGVycm9yIGNvZGVzLiIsIDEpOworICAgICAgICBkYjIuY2hhbmdlVmVyc2lvbigiMS4wIiwgIjIu
MCIsIGZ1bmN0aW9uKHR4KSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9u
KGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkZBSUw6IGNvdWxk
IG5vdCBjaGFuZ2UgdGhlIERCIHZlcnNpb24uIik7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9u
KCkgeyB9KTsKKyAgICAgICAgfSk7CisKKyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCisgICAgICAg
ICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0eC5l
eGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBTSE9VTEQgTkVWRVIgR0VUIEVYRUNVVEVEIik7Cisg
ICAgICAgICAgICAgICAgICAgIH0sICJWRVJTSU9OX0VSUiIpOworfQorCitmdW5jdGlvbiBydW5U
ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworCisgICAgdmFyIGRiID0g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiU1FMRXJyb3JDb2Rlc1Rlc3QiLCAiMS4wIiwgIlRlc3Rz
IHRoZSBlcnJvciBjb2Rlcy4iLCAxKTsKKyAgICB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNlcHRp
b24oZGIpOworICAgIHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRGYWls
dXJlKGRiKTsKKyAgICB0ZXN0SW52YWxpZFN0YXRlbWVudChkYik7CisgICAgdGVzdEluY29ycmVj
dE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpOworICAgIHRlc3RCaW5kUGFyYW1ldGVyT2ZXcm9u
Z1R5cGUoZGIpOworICAgIHRlc3RRdW90YUV4Y2VlZGVkKGRiKTsKKyAgICB0ZXN0VmVyc2lvbk1p
c21hdGNoKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0
YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM0MDNkOWYwYzk2Nzg3MTU5MGMxNTE0MDcwZTYwODA2N2U1MDEyMTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK0NPTlNPTEUgTUVTU0FHRTogRXhjZXB0aW9u
IGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjaworVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSB0
cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBhIHN0
YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMgdHJ1
ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBl
cnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3Ig
Y2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxi
YWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3
YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGlu
dm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgor
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAt
IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorVGVzdCBDb21w
bGV0ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQt
ZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMzc2ODk2MzhiZDJiOGJlNWI4NmJiMzNlMDU2ZmYwODU1
N2FkNjg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3Rh
dGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJh
ciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgorVGhpcyB0ZXN0
IHRlc3RzIHRoYXQgdGhlIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhl
IHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9z
dGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYwNDUxMDIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQt
ZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgc3Rh
dGVtZW50IGVycm9yIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50RXJyb3JDYWxsYmFj
a3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKytzdGF0ZW1lbnRF
cnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVu
Y3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEodHgsIGVycm9yKQoreworICAgIGFsZXJ0KCJG
QUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKworZnVu
Y3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazIodHgsIGVycm9yKQoreworICAgIGFsZXJ0KGRv
Y3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJvZHkuZm9vID0g
IkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKK2Rv
Y3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBj
YWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5l
dmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAgICAgImZ1bmN0
aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sxKHR4LCBlcnJvcilcbiIgKworICAgICAgICAie1xu
IiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAg
ICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAg
In1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJyb3JD
YWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAiZGIx
LnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAgIiAgICB0eC5leGVjdXRl
U3FsKCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgc3RhdGVtZW50
RXJyb3JDYWxsYmFjazEpO1xuIiArCisgICAgICAgICJ9KTsiKTsKKworICAgIHZhciBkYjIgPSBv
cGVuRGF0YWJhc2UoJ1N0YXRlbWVudEVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAn
LCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4
LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9LCBz
dGF0ZW1lbnRFcnJvckNhbGxiYWNrMik7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVu
dC1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVt
ZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiODM2ZDE2MThiOTkzMjQ1Njg1
MWFjOWY4ZTA3YTc2Y2MxNWZhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsODcgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBsb2coIlRlc3Qg
Q29tcGxldGUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0eENhbGxiYWNr
Q291bnQgPSAwOwordmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsKK3ZhciBkYXRhYmFz
ZTsKKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWwsIHN0YXRlbWVudEVy
cm9yQ2FsbGJhY2spCit7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsK
KyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdFRh
YmxlIChSYW5kb21EYXRhIFRFWFQpIik7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJ
TlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOworICAgICAgICB0eC5leGVjdXRl
U3FsKCJUSElTIFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKKyAgICAgICAgICAgIGZ1bmN0aW9u
KHR4LCBkYXRhKSB7CisgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhpcyBzdGF0ZW1lbnQg
c2hvdWxkIGhhdmUgZmFpbGVkIik7CisgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAg
ICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7CisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0MSddLAorICAgICAg
ICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0Zh
aWwpCisgICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3Vs
ZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7CisgICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICAgICAgICAg
IGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVk
Iik7CisgICAgICAgICAgICB9KTsKKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICBp
ZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUgdHJhbnNhY3Rp
b24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGxvZygiRkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBzaG91bGQgbm90
IGhhdmUgYmVlbiBpbnZva2VkLiIpOworICAgICAgICBpZiAoKyt0eENhbGxiYWNrQ291bnQgPT0g
TlVNQkVSX09GX1RSQU5TQUNUSU9OUykKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQorICAgICAgICAgICAg
bG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgc2hvdWxkIG5vdCBo
YXZlIGJlZW4gaW52b2tlZC4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nKCJQQVNT
IC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7CisgICAg
ICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJT05TKQorICAg
ICAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkK
K3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJTdGF0
ZW1lbnRFcnJvckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVycm9yIGNhbGxiYWNr
IHRlc3QiLCAxMDI0KTsKKworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9uKGVycm9y
KSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5jdGlvbihl
cnJvcikgeyB0aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayI7IHJl
dHVybiBmYWxzZTsgfSk7CisgICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3Ip
IHsgcmV0dXJuICJzb21lIHN0cmluZyI7IH0pOworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1
bmN0aW9uKGVycm9yKSB7IHJldHVybiAxMjM0OyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVl
LCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsgfSk7CisgICAgcnVu
VHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJmYWxzZSI7IH0pOwor
ICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30pOworICAgIHJ1blRy
YW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFsc2U7IH0pOworICAg
IHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gMDsgfSk7Cisg
ICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiBudWxsOyB9
KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
K1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkgcm9s
bGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0aHJv
d3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2YWx1
ZS4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yZWYwMjdkZmJkMWEwNDM0NjNmMjE3NjliNzM3MTlhODhlNWJmNmQwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LXN1
Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBA
QAorQUxFUlQ6IHVuZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2li
bGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVzdHMg
dGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdo
dCB3b3JsZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVt
ZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZjMTEzYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1z
dWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHN0
YXRlbWVudCBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50U3VjY2Vzc0Nh
bGxiYWNrc0ludm9rZWQgPSAwOworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgaWYgKCgrK3N0YXRl
bWVudFN1Y2Nlc3NDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9
CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpCit7CisgICAg
YWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgpOwor
fQorCitmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2syKHR4LCBkYXRhKQoreworICAg
IGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJv
ZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29y
bGQuIjsKK2RvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2li
bGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxs
RGF0YWJhc2VzKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAg
ICAgImZ1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpXG4iICsKKyAg
ICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIg
KworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiAr
CisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1N0YXRl
bWVudFN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKwor
ICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAgIiAg
ICB0eC5leGVjdXRlU3FsKCdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5U
KScsIFtdLCBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKTtcbiIgKworICAgICAgICAifSk7Iik7
CisKKyAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2tJ
c29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0
aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJ
U1RTIFRlc3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazIpOworICAg
IH0pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjc2MTkwMjQ0MTc4YzNlYTJkZDkzYTU2MjMwMmE4MDZlYTg0ODk4NGYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgc3Vj
Y2Vzc2Z1bCB0cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0aG91dCBhIHN0YXRlbWVudCAt
IHJlY2VpdmVzIGl0cyBzdWNjZXNzQ2FsbGJhY2sKK1RyYW5zYWN0aW9uIHN1Y2NlZWRlZCAtIFRy
YW5zYWN0aW9uIHdpdGggb25lIHN0YXRlbWVudAorVHJhbnNhY3Rpb24gc3VjY2VlZGVkIC0gRW1w
dHkgdHJhbnNhY3Rpb24KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyMzdhYmE4MmUzMDk3
MjQ4MWFhYmI3MDUwZDVhMjE0NmUyNWMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSw1NCBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQoreworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2Ug
KyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGxvZygiVGVzdCBD
b21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXJyb3JG
dW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9yLm1lc3Nh
Z2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKwordmFyIHN1Y2Nlc3NDb3VudCA9IDA7CisKK2Z1
bmN0aW9uIHN1Y2Nlc3NGdW5jdGlvbihtZXNzYWdlKQoreworICAgIGxvZygiVHJhbnNhY3Rpb24g
c3VjY2VlZGVkIC0gIiArIG1lc3NhZ2UpOworICAgIGlmICgrK3N1Y2Nlc3NDb3VudCA9PSAyKQor
ICAgICAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7CisgICAgfQorICAgIAorICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiU3VjY2Vz
c0NhbGxiYWNrRGF0YWJhc2UiLCAiMS4wIiwgIlRlc3QgZm9yIHN1Y2Nlc3MgY2FsbGJhY2sgPHJk
YXI6Ly81NzM3NjkyPiIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFN1Y2Nlc3NDYWxs
YmFja1Rlc3QgKHJhbmRvbURhdGEpIiwgW10pOyB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlvbigp
IHsgc3VjY2Vzc0Z1bmN0aW9uKCJUcmFuc2FjdGlvbiB3aXRoIG9uZSBzdGF0ZW1lbnQiKTsgfSk7
CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgZXJyb3JGdW5jdGlv
biwgZnVuY3Rpb24oKSB7IHN1Y2Nlc3NGdW5jdGlvbigiRW1wdHkgdHJhbnNhY3Rpb24iKTsgfSk7
Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CitU
aGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gLSBib3RoIHdp
dGggYW5kIHdpdGhvdXQgYSBzdGF0ZW1lbnQgLSByZWNlaXZlcyBpdHMgc3VjY2Vzc0NhbGxiYWNr
Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0MGY2M2Mw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRo
b3JpemVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBACitUaGlzIHRlc3QgdGVzdHMgdGhl
IGRhdGFiYXNlIGF1dGhvcml6ZXIuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCitTUUxJVEVfQ1JFQVRFX0lOREVYIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVf
Q1JFQVRFX1RFTVBfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVN
UF9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RFTVBfVklFVyBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9D
UkVBVEVfVlRBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVBRCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgor
U1FMSVRFX1NFTEVDVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RFTEVURSBzdGF0ZW1l
bnQgc3VjY2VlZGVkLgorU1FMSVRFX0lOU0VSVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRF
X1VQREFURSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX1BSQUdNQSBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FM
SVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQUxURVJfVEFCTEUg
c3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9UUkFOU0FDVElPTiBzdGF0ZW1lbnQgZmFpbGVk
OiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRF
X0FUVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIz
IG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RFVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBu
b3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX1JFSU5ERVgg
c3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9BTkFMWVpFIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJP
UF9JTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UQUJMRSBzdGF0
ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UUklHR0VSIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCitTUUxJVEVfRFJPUF9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElU
RV9EUk9QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1ZJRVcgc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQu
CitXcml0ZSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0YXRl
bWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXpl
ZCkKK1NRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVB
VEVfSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgy
MyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitTUUxJ
VEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFy
ZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQ1JFQVRFX1RFTVBfVklFVyBz
dGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRo
b3JpemVkKQorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5v
dCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVfVklF
VyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVf
SU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0
ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50IHN1
Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQuCitT
UUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVf
VklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50
IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkK
K1NRTElURV9SRUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfU0VMRUNUIHN0YXRlbWVu
dCBzdWNjZWVkZWQuCitTUUxJVEVfREVMRVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBw
cmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfSU5TRVJUIHN0YXRl
bWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6
ZWQpCitTUUxJVEVfVVBEQVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUFJBR01BIHN0YXRlbWVudCBmYWls
ZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJ
VEVfQUxURVJfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVt
ZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogVGVzdFRh
YmxlKQorU1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQVRUQUNIIHN0YXRlbWVu
dCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQp
CitTUUxJVEVfREVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQgZmFpbGVk
OiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRF
X0FOQUxZWkUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgy
MyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJP
UF9URU1QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3RhdGVtZW50
IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkK
K1NRTElURV9EUk9QX1RFTVBfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFy
ZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVFJJR0dFUiBzdGF0
ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3Jp
emVkKQorU1FMSVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFy
ZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVEFCTEUgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKK1JlYWQgdHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmFmMTBhYTQ3NTAw
YTRmM2NmMzEyNGM3NjcxNzMxNzllODk0MzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwKQEAgLTAsMCArMSwxMiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ0ZXN0LWF1dGhvcml6ZXIuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IHRl
c3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLjxicj4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorRkFJ
TFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGEw
OGM4OWRmNTRhM2I2YzRhODYzYzAxZGY4OWY0NzUxY2NjOTE4OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qcwpAQCAtMCwwICsx
LDE1MyBAQAorZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworfQorCitmdW5jdGlvbiBsb2dBbmRUZXJtaW5hdGVUZXN0KG1lc3NhZ2UsIGVycm9yKQor
eworICAgIGxvZyhtZXNzYWdlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOworICAgIHRlcm1pbmF0
ZVRlc3QoKTsKK30KKworZnVuY3Rpb24gY2xlYW51cChkYikKK3sKKyAgICBkYi50cmFuc2FjdGlv
bihmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJMRSBJ
RiBFWElTVFMgVGVzdDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgSU5ERVgg
SUYgRVhJU1RTIFRlc3RJbmRleDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1Ag
VklFVyBJRiBFWElTVFMgVGVzdFZpZXc7Iik7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJE
Uk9QIFRSSUdHRVIgSUYgRVhJU1RTIFRlc3RUcmlnZ2VyOyIpOworICAgICAgICB9LCBmdW5jdGlv
bihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJDbGVhbnVwIGZhaWxlZCIsIGVycm9yKTsg
fSk7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhzdGF0ZW1lbnRUeXBl
KQoreworICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2VlZGVkLiIpOwor
fQorCitmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKHN0YXRlbWVudFR5cGUsIGVycm9y
KQoreworICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFpbGVkOiAiICsgZXJy
b3IubWVzc2FnZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBleGVjdXRlU3Rh
dGVtZW50KHR4LCBzdGF0ZW1lbnQsIG9wZXJhdGlvbikKK3sKKyAgICB0eC5leGVjdXRlU3FsKHN0
YXRlbWVudCwgW10sCisgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVt
ZW50U3VjY2Vzc0NhbGxiYWNrKG9wZXJhdGlvbik7IH0sCisgICAgICAgICAgICAgICAgICBmdW5j
dGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sob3BlcmF0aW9u
LCBlcnJvcik7IH0pOworfQorCitmdW5jdGlvbiBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KQorewor
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEFCTEUgVGVzdCAoRm9vIGludCk7Iiwg
IlNRTElURV9DUkVBVEVfVEFCTEUiKTsKK30KKworZnVuY3Rpb24gY3JlYXRlU3RhdGVtZW50c0Nh
bGxiYWNrKHR4KQoreworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgSU5ERVggVGVz
dEluZGV4IE9OIFRlc3QgKEZvbyk7IiwgIlNRTElURV9DUkVBVEVfSU5ERVgiKTsKKworICAgIC8v
IEV2ZW4gdGhvdWdoIHRoZSBmb2xsb3dpbmcgcXVlcnkgc2hvdWxkIHRyaWdnZXIgYSBTUUxJVEVf
Q1JFQVRFX1RFTVBfSU5ERVggb3BlcmF0aW9uCisgICAgLy8gKGFjY29yZGluZyB0byBodHRwOi8v
d3d3LnNxbGl0ZS5vcmcvdGVtcGZpbGVzLmh0bWwpLCBpdCBkb2Vzbid0LCBhbmQgSSdtIG5vdCBh
d2FyZQorICAgIC8vIG9mIGFueSBvdGhlciB3YXkgdG8gdHJpZ2dlciB0aGlzIG9wZXJhdGlvbi4g
U28gd2UnbGwgc2tpcCBpdCBmb3Igbm93LgorICAgIC8vZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNF
TEVDVCAqIEZST00gVGVzdCBXSEVSRSBGb28gSU4gKDEsIDIsIDMpOyIsICJTUUxJVEVfQ1JFQVRF
X1RFTVBfSU5ERVgiKTsKKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVNUCBU
QUJMRSBUZXN0VGVtcFRhYmxlIChGb28gaW50KTsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RBQkxF
Iik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFRSSUdHRVIgVGVzdFRl
bXBUcmlnZ2VyIElOU0VSVCBPTiBUZXN0IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7
IEVORDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIiKTsKKyAgICBleGVjdXRlU3RhdGVt
ZW50KHR4LCAiQ1JFQVRFIFRFTVAgVklFVyBUZXN0VGVtcFZpZXcgQVMgU0VMRUNUIENPVU5UKCop
IEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1ZJRVciKTsKKyAgICBleGVjdXRlU3Rh
dGVtZW50KHR4LCAiQ1JFQVRFIFRSSUdHRVIgVGVzdFRyaWdnZXIgSU5TRVJUIE9OIFRlc3QgQkVH
SU4gU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsgRU5EOyIsICJTUUxJVEVfQ1JFQVRFX1RSSUdH
RVIiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFZJRVcgVGVzdFZpZXcgQVMg
U0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9WSUVXIik7CisgICAg
ZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSVJUVUFMIFRBQkxFIFRlc3RWaXJ0dWFsVGFi
bGUgVVNJTkcgTWlzc2luZ01vZHVsZTsiLCAiU1FMSVRFX0NSRUFURV9WVEFCTEUiKTsKK30KKwor
ZnVuY3Rpb24gb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpCit7CisgICAgZXhlY3V0ZVN0YXRl
bWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9SRUFEIik7Cisg
ICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNR
TElURV9TRUxFQ1QiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVMRVRFIEZST00gVGVz
dDsiLCAiU1FMSVRFX0RFTEVURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoMSk7IiwgIlNRTElURV9JTlNFUlQiKTsKKyAgICBleGVjdXRlU3Rh
dGVtZW50KHR4LCAiVVBEQVRFIFRlc3QgU0VUIEZvbyA9IDIgV0hFUkUgRm9vID0gMTsiLCAiU1FM
SVRFX1VQREFURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJQUkFHTUEgY2FjaGVfc2l6
ZTsiLCAiU1FMSVRFX1BSQUdNQSIpOworCisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFMVEVS
IFRBQkxFIFRlc3QgUkVOQU1FIFRPIFRlc3RUYWJsZTsiLCAiU1FMSVRFX0FMVEVSX1RBQkxFIik7
CisgICAgLy8gUmVuYW1lIHRoZSB0YWJsZSBiYWNrIHRvIGl0cyBvcmlnaW5hbCBuYW1lCisgICAg
ZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFMVEVSIFRBQkxFIFRlc3RUYWJsZSBSRU5BTUUgVG8gVGVz
dDsiLCAiU1FMSVRFX0FMVEVSX1RBQkxFIik7CisKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAi
QkVHSU4gVFJBTlNBQ1RJT047IiwgIlNRTElURV9UUkFOU0FDVElPTiIpOworICAgIGV4ZWN1dGVT
dGF0ZW1lbnQodHgsICJBVFRBQ0ggbWFpbiBBUyBUZXN0TWFpbjsiLCAiU1FMSVRFX0FUVEFDSCIp
OworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJERVRBQ0ggVGVzdE1haW47IiwgIlNRTElURV9E
RVRBQ0giKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUkVJTkRFWDsiLCAiU1FMSVRFX1JF
SU5ERVgiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQU5BTFlaRTsiLCAiU1FMSVRFX0FO
QUxZWkUiKTsKKworICAgIC8vIFNRTElURV9GVU5DVElPTjogYWxsb3dlZCB3cml0ZSBtb2RlCisg
ICAgLy8gVGhlcmUgaXMgbm8gU1FML0phdmFzY3JpcHQgQVBJIHRvIGFkZCB1c2VyLWRlZmluZWQg
ZnVuY3Rpb25zIHRvIFNRTGl0ZSwKKyAgICAvLyBzbyB3ZSBjYW5ub3QgdGVzdCB0aGlzIG9wZXJh
dGlvbgorfQorCitmdW5jdGlvbiBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KQoreworICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIElOREVYIFRlc3RJbmRleDsiLCAiU1FMSVRFX0RST1Bf
SU5ERVgiKTsKKworICAgIC8vIFNRTElURV9EUk9QX1RFTVBfSU5ERVg6IGFsbG93ZWQgaW4gd3Jp
dGUgbW9kZQorICAgIC8vIE5vdCBzdXJlIGhvdyB0byB0ZXN0IHRoaXM6IHRlbXAgaW5kZXhlcyBh
cmUgYXV0b21hdGljYWxseSBkcm9wcGVkIHdoZW4KKyAgICAvLyB0aGUgZGF0YWJhc2UgaXMgY2xv
c2VkLCBidXQgSFRNTDUgZG9lc24ndCBzcGVjaWZ5IGEgY2xvc2VEYXRhYmFzZSgpIGNhbGwuCisK
KyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBUZXN0VGVtcFRhYmxlOyIsICJT
UUxJVEVfRFJPUF9URU1QX1RBQkxFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1Ag
VFJJR0dFUiBUZXN0VGVtcFRyaWdnZXI7IiwgIlNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiIpOwor
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFRlbXBWaWV3OyIsICJTUUxJ
VEVfRFJPUF9URU1QX1ZJRVciKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUUklH
R0VSIFRlc3RUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9UUklHR0VSIik7CisgICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIkRST1AgVklFVyBUZXN0VmlldzsiLCAiU1FMSVRFX0RST1BfVklFVyIpOwor
CisgICAgLy8gU1FMSVRFX0RST1BfVlRBQkxFOiBhbGxvd2VkIGluIHdyaXRlIG1vZGUKKyAgICAv
LyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB3ZSBjYW5ub3QgY3JlYXRlIGEgdmlydHVhbCB0
YWJsZSBiZWNhdXNlIHdlIGRvIG5vdAorICAgIC8vIGhhdmUgU1FML0phdmFzY3JpcHQgQVBJcyB0
byByZWdpc3RlciBhIG1vZHVsZSB0aGF0IGltcGxlbWVudHMgYSB2aXJ0dWFsIHRhYmxlLgorICAg
IC8vIFRoZXJlZm9yZSwgdHJ5aW5nIHRvIGRyb3AgYSB2aXJ0dWFsIHRhYmxlIHdpbGwgYWx3YXlz
IGZhaWwgKG5vIHN1Y2ggdGFibGUpCisgICAgLy8gYmVmb3JlIGV2ZW4gZ2V0dGluZyB0byB0aGUg
YXV0aG9yaXplci4KKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFRBQkxFIFRlc3Q7
IiwgIlNRTElURV9EUk9QX1RBQkxFIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZWFkV3JpdGVNb2Rl
KGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICBj
cmVhdGVUYWJsZUNhbGxiYWNrKHR4KTsKKyAgICAgICAgICAgIGNyZWF0ZVN0YXRlbWVudHNDYWxs
YmFjayh0eCk7CisgICAgICAgICAgICBvdGhlclN0YXRlbWVudHNDYWxsYmFjayh0eCk7CisgICAg
ICAgICAgICBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KTsKKyAgICAgICAgfSwKKyAgICAgICAg
ZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUgdHJhbnNhY3Rpb24g
ZmFpbGVkIiwgZXJyb3IpOyB9LAorICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJXcml0ZSB0cmFu
c2FjdGlvbiBzdWNjZWVkZWQuIik7IH0pOworfQorCitmdW5jdGlvbiB0ZXN0UmVhZE9ubHlNb2Rl
KGRiKQoreworICAgIC8vIFRlc3QgdGhlICdDUkVBVEUgVEFCTEUnIG9wZXJhdGlvbjsgaXQgc2hv
dWxkIGJlIGRpc2FsbG93ZWQKKyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlVGFibGVDYWxs
YmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVh
ZCAnQ1JFQVRFIFRBQkxFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOworCisgICAg
Ly8gSW4gb3JkZXIgdG8gdGVzdCBhbGwgb3RoZXIgJ0NSRUFURScgb3BlcmF0aW9ucywgd2UgbXVz
dCBjcmVhdGUgdGhlIHRhYmxlIGZpcnN0CisgICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlVGFibGVD
YWxsYmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgi
V3JpdGUgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKKyAg
ICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAgICBm
dW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdDUkVBVEUnIHRyYW5z
YWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7CisKKyAgICAvLyBJbiBvcmRlciB0byB0ZXN0IHRo
ZSAnRFJPUCcgYW5kICdvdGhlcicgb3BlcmF0aW9ucywgd2UgbmVlZCB0byBmaXJzdCBjcmVhdGUg
dGhlIHJlc3BlY3RpdmUgZW50aXRpZXMKKyAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVTdGF0ZW1l
bnRzQ2FsbGJhY2ssCisgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRl
c3QoIldyaXRlICdDUkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7CisgICAg
ZGIucmVhZFRyYW5zYWN0aW9uKG90aGVyU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAgICBmdW5j
dGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdvdGhlcicgdHJhbnNhY3Rp
b24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKKworICAgIC8vIEhhY2s6IGluc2VydCBhbiBlbXB0eSB3
cml0ZSB0cmFuc2FjdGlvbiB0byBndWFyYXRlZSB0aGF0IHRoZXNlIHRyYW5zYWN0aW9ucyBhcmUg
ZXhlY3V0ZWQgc2VxdWVudGlhbGx5CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsg
fSk7CisgICAgZGIucmVhZFRyYW5zYWN0aW9uKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2ssCisgICAg
ICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJlYWQgJ0RST1AnIHRy
YW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSwKKyAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygi
UmVhZCB0cmFuc2FjdGlvbnMgc3VjY2VlZGVkLiIpOyB0ZXJtaW5hdGVUZXN0KCk7IH0pOworfQor
CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3Vm
Zml4KCJBdXRob3JpemVyVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGRhdGFiYXNlIGF1dGhvcml6
ZXIuIiwgMzI3NjgpOworICAgIGNsZWFudXAoZGIpOworICAgIHRlc3RSZWFkV3JpdGVNb2RlKGRi
KTsKKyAgICB0ZXN0UmVhZE9ubHlNb2RlKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFj
ay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4OGM3NDI2MDVlMzRk
ZGI5ODhlODkzM2MzNGUwNDNhMzNhYzI0ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBUcmFuc2FjdGlvbkNh
bGxiYWNrRXJyb3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFzIHBhc3Nl
ZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2Fs
bGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90
cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YmNj
NzMyYmI4ZjJiNTNlY2I0NDgxYTc5OTc1ZTJjY2Y3MWNjZGMzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9u
LWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKK30KKwordmFyIGRiID0gb3BlbkRhdGFiYXNlKCIxNTk3NlRlc3QiLCAiMS4wIiwgIlRlc3Qg
Zm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTc2IiwgMSk7Citk
Yi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0sIDApOworICAgdGhyb3cgIlRyYW5zYWN0aW9uQ2Fs
bGJhY2tFcnJvciI7Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitJZiBXZWJLaXQg
ZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNzZWQKKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yN2Y0NzRmN2JjNmVhNzhhOTIxN2I5OGQwOGI5YjI1YTcxMmVmZTRlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2st
aXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQUxFUlQ6IHVuZGVm
aW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFj
ayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNh
Y3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjgyNWQ3MDAzNDA0Mjg0NmVm
ZDRkMWQ5NTgzYjcyZTJlNTk1MmJiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAg
LTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0
IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmln
aHQgd29ybGQuCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdHJhbnNh
Y3Rpb25DYWxsYmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgo
Kyt0cmFuc2FjdGlvbkNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
K30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjazEodHgpCit7CisgICAgYWxlcnQoIkZB
SUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgpOworfQorCitmdW5j
dGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5ib2R5
LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBkb2N1
bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5ib2R5
LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3Jl
YXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVTY3Jp
cHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFuc2Fj
dGlvbkNhbGxiYWNrMSh0eClcbiIgKworICAgICAgICAie1xuIiArCisgICAgICAgICIgICAgYWxl
cnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIgICAgd2luZG93LmxvY2F0aW9u
PSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIgKworICAgICAgICAidmFy
IGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxsYmFja0lzb2xhdGVkV29ybGQxJywg
JzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKHRyYW5zYWN0aW9u
Q2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9u
Q2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0
aW9uKHRyYW5zYWN0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJh
bnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYjMzYmQ5
YWI3ZDA3N2M1ZGQ2M2MwMDc5OGUzZDY3NTAwOWYzMTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmplY3Qg
T2JqZWN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBbb2JqZWN0IE9iamVjdF0KK1RoaXMg
dGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2Vk
IGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24g
aXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZh
aWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNT
CitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sg
cmV0dXJuIGZhbHNlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dp
bmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MK
K1Rlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3Ig
Y2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUworQWxsIFRlc3RzIGFyZSBjb21wbGV0
ZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhMTUzOTY2NzhkOWViZjMxNTJkOGU5Yzg0ZDNjMTRj
YjRlOWYyNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90
cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACitBTEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9k
eS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMg
dGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQg
aW4gdGhlIHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjE4OTRkMmVhMjc1OGFlOTFmOTczOWE3YjU1NWQ1
YzZlMzJkY2IxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
dHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsx
LDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMg
dGhhdCB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdo
dCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0cmFuc2Fj
dGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9IDA7CitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBp
ZiAoKCsrdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eCkKK3sK
KyAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBkb25l
KCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazIodHgpCit7CisgICAg
YWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQuYm9k
eS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3Js
ZC4iOworZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJs
ZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxE
YXRhYmFzZXMoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAgICAg
ICAiZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eClcbiIgKworICAgICAgICAi
e1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAg
ICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAg
ICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25F
cnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAgICAg
ICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIgKworICAgICAgICAiICAgIHR4LmV4
ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9LCBmdW5j
dGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pO1xuIiArCisgICAgICAgICJ9LCB0cmFu
c2FjdGlvbkVycm9yQ2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2Uo
J1RyYW5zYWN0aW9uRXJyb3JDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsK
KyAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhlY3V0ZVNx
bCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1bmN0aW9uKHR4
LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7CisgICAgfSwgdHJhbnNhY3Rpb25FcnJvckNhbGxi
YWNrMik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjkwYjJlZDAzNGZkOTVhN2JhZTUyYTA4NmU5YTJlZTVlYmNkZWY3NzIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1l
cnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsMTA1IEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKK30KKworLy8g
c2lnbmFsIHRvIGxheW91dFRlc3RDb250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHplcm8uCit2
YXIgdGVzdENvdW50ID0gNDsKKy8vIHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0aGUgbnVt
YmVyIG9mIHJvd3MgYWxyZWFkeSBpbiBvdXIgdGVzdCBkYXRhYmFzZS4KKy8vIG91ciBnb2FsIGlz
IHRvIGtlZXAgdGhlIG51bWJlciB1bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCit2YXIgaW5p
dGlhbFJvd0NvdW50ID0gMDsKK3ZhciBkYXRhYmFzZTsKK3ZhciBzdWNjZXNzQ2FsbGJhY2tDYWxs
ZWQ7CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICgtLXRlc3RDb3VudCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIpOworCisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKQor
eworICAgIHN1Y2Nlc3NDYWxsYmFja0NhbGxlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIHZlcmlm
eVN1Y2Nlc3MobXNnKQoreworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQor
ICAgIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50IEZS
T00gRXJyb3JDYWxsYmFja1Rlc3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQorICAgICAgICB7Cisg
ICAgICAgICAgICBsb2cobXNnICsgIiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50ID09IGlu
aXRpYWxSb3dDb3VudCAmJiAhc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1MiIDogIkZB
SUxVUkUiKSk7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0pOworICAgIH0p
OworfQorCitmdW5jdGlvbiBmYWlsTWlkV2F5KGVycm9yQ2FsbGJhY2spCit7CisgICAgc3VjY2Vz
c0NhbGxiYWNrQ2FsbGVkID0gZmFsc2U7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpCisgICAgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBFcnJvckNh
bGxiYWNrVGVzdChzb21lVmFsdWUpIFZBTFVFUyg/KTsiLCBbIDEgXSk7CisgICAgICAgIHR4LmV4
ZWN1dGVTcWwoIk1VVFRFUiBTT01FVEhJTkcgSUxMRUdJQkxFIik7CisgICAgfSwgZXJyb3JDYWxs
YmFjaywgc3VjY2Vzc0NhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50Q2FsbGJhY2tU
aHJvd3NFeGNlcHRpb24oZXJyb3JDYWxsYmFjaykKK3sKKyAgICBzdWNjZXNzQ2FsbGJhY2tDYWxs
ZWQgPSBmYWxzZTsKKyAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKKyAgICB7
CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0KHNv
bWVWYWx1ZSkgVkFMVUVTKD8pOyIsIFsgMSBdLCBmdW5jdGlvbigpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIHRocm93IHt9OworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gcnVu
VGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICBkYXRhYmFzZSA9IG9wZW5EYXRhYmFz
ZSgiRXJyb3JDYWxsYmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBjYWxsYmFj
ayIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQorICAgIHsKKyAg
ICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJyb3JDYWxs
YmFja1Rlc3QgKHNvbWVWYWx1ZSkiLCBbXSk7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVD
VCBjb3VudCgqKSBBUyBjb3VudCBGUk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1bmN0aW9u
KHR4LCBycykKKyAgICAgICAgeworICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0gcnMucm93
cy5pdGVtKDApLmNvdW50OworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGZhaWxNaWRXYXko
ZnVuY3Rpb24oKSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5n
IHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5n
IHRydWUiKTsKKyAgICBmYWlsTWlkV2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwor
ICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFu
ZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UiKTsKKyAgICBzdGF0ZW1lbnRDYWxsYmFja1Ro
cm93c0V4Y2VwdGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOworICAgIHZlcmlmeVN1
Y2Nlc3MoIlRlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQg
ZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKKyAgICBzdGF0ZW1lbnRDYWxsYmFja1Ro
cm93c0V4Y2VwdGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKKyAgICB2ZXJpZnlT
dWNjZXNzKCJUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5k
IGVycm9yIGNhbGxiYWNrIHJldHVybmluZyBmYWxzZSIpOworfQorCis8L3NjcmlwdD4KKzwvaGVh
ZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQg
PGNvZGU+U1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2VkIGNvcnJl
Y3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3
YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgor
PC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MjdmNGFjZTczODMz
YjVlNmVjNDY4NmFmZTcwNTk2NDNiZjFkOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FMRVJU
OiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBp
biB0aGlzIHdvcmxkLgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1Y2Nl
c3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhMmRm
OTRiMzRhZDU4NmI0MDc2MzQyMGMwYzcwMzY5M2QyMTc4MmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3Mg
Y2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFja3NJbnZva2Vk
ID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKyt0cmFuc2FjdGlvblN1Y2Nlc3ND
YWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9u
IHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eCkKK3sKKyAgICBhbGVydCgiRkFJTDogVmlz
aWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBkb25lKCk7Cit9CisKK2Z1bmN0aW9uIHRy
YW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5ib2R5
LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBkb2N1
bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5ib2R5
LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3Jl
YXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVTY3Jp
cHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFuc2Fj
dGlvblN1Y2Nlc3NDYWxsYmFjazEodHgpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAgICAi
ICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRvdy5s
b2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAgICAg
ICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrSXNv
bGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAgICAgICJkYjEudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsgfSwgbnVsbCwgdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sxKTsi
KTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0NhbGxi
YWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOworICAgIGRiMi50cmFuc2FjdGlvbihm
dW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazIpOworfQor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143089</attachid>
            <date>2012-05-21 13:44:04 -0700</date>
            <delta_ts>2012-05-21 14:30:19 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-86138-20120521134403.patch</filename>
            <type>text/plain</type>
            <size>292840</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE3NzcyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjVmOTMzYTZmYWM0MTUyNWUwMjA2
NDRhOTJmMWQ3MTU4NWUwM2YzOS4uMzk1NWUyYzU3YWRjMzA2Nzk1OTI0NzUzNjAxNDdiY2E0Zjdk
NTRlNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4NiBAQAorMjAxMi0wNS0yMSAgSm9zaHVhIEJlbGwgIDxq
c2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgV2ViU1FMIHRlc3RzIGluIExheW91
dFRlc3RzL3N0b3JhZ2UgdG8gd2Vic3FsIGRpcmVjdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYxMzgKKworICAgICAgICBSZXZpZXdlZCBieSBS
eW9zdWtlIE5pd2EuCisKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJjZXMv
ZGF0YWJhc2Utd29ya2VyLWNvbnRyb2xsZXIuanM6CisgICAgICAgIChydW5UZXN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9y
LWNhbGxiYWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS90cmFuc2FjdGlvbi1j
YWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1l
eHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1t
YWMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQu
dHh0LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2UvdHJhbnNhY3Rpb24t
Y2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2st
ZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4
cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0
b3JhZ2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1j
b2Rlcy1leHBlY3RlZC50eHQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBl
Y3RhdGlvbnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2d0ay90ZXN0X2V4cGVjdGF0aW9ucy50
eHQ6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0
OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1leHBlY3Rl
ZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJl
dXNlLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdl
LXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbDogUmVuYW1lZCBmcm9tIExheW91
dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMu
CisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKHJ1blRlc3QuY2F0Y2gpOgorICAgICAg
ICAocnVuVGVzdCk6CisgICAgICAgIChydW5UZXN0Mi5jYXRjaCk6CisgICAgICAgIChydW5UZXN0
Mik6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24t
cHJlZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBl
Y3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jh
c2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbC4K
KyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sLgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC1leHBl
Y3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10
ZXN0Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1z
dHJlc3MtdGVzdC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2st
YWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3Jh
Z2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0
b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWw6IFJlbmFtZWQgZnJv
bSBMYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dDogUmVu
YW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4
dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50Lmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy1leHBlY3RlZC50eHQ6IFJlbmFtZWQg
ZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0Lgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2UvZXhlY3V0ZS1zcWwtYXJncy5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuanMuCisgICAgICAgICh0aHJvd09uVG9TdHJp
bmdPYmplY3QudG9TdHJpbmcpOgorICAgICAgICAodmFyKToKKyAgICAgICAgKHRyeUV4ZWN1dGVT
cWwpOgorICAgICAgICAocnVuVHJhbnNhY3Rpb25UZXN0KToKKyAgICAgICAgKHJ1blRyYW5zYWN0
aW9uVGVzdHMpOgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwv
ZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQ6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1z
dGF0ZW1lbnQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVz
cWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC5odG1sLgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIt
ZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdp
dGgteGhyLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14
aHIuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgt
eGhyLmpzLgorICAgICAgICAoc3RvcEludGVydmFscyk6CisgICAgICAgIChzdG9wVGVzdCk6Cisg
ICAgICAgICh1cGRhdGVEYXRhYmFzZSk6CisgICAgICAgIChjaGVja0ZvclN1Y2Nlc3MpOgorICAg
ICAgICAoZXJyb3JIYW5kbGVyKToKKyAgICAgICAgKHNlbmRYaHIpOgorICAgICAgICAoaW52b2tl
QmFjayk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKHJ1blRlc3RzSW5uZXIpOgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rp
b24tZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBs
ZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBz
dG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWw6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJi
YWdlLWNvbGxlY3Rpb24uaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1k
YXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmpzLgorICAgICAg
ICAoR0MpOgorICAgICAgICAoY2hlY2tDb21wbGV0aW9uKToKKyAgICAgICAgKHJ1blRlc3QpOgor
ICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1leHBlY3RlZC50
eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9u
cy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExh
eW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5k
bGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFu
c2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0
bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRp
ZmZlcmVudC1oYW5kbGVzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0
aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMuanMuCisgICAgICAgIChjaGVj
a0NvbXBsZXRpb24pOgorICAgICAgICAob3BlblRlc3REYXRhYmFzZSk6CisgICAgICAgIChzdGF0
ZW1lbnRTdWNjZXNzQ2FsbGJhY2spOgorICAgICAgICAoc3RhdGVtZW50RXJyb3JDYWxsYmFjayk6
CisgICAgICAgIChydW5UcmFuc2FjdGlvbik6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwuCisgICAgICAg
ICogc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzOiBSZW5hbWVkIGZyb20g
TGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMuCisgICAgICAgIChj
aGVja0NvbXBsZXRpb24pOgorICAgICAgICAocnVuVGVzdC5kYik6CisgICAgICAgIChydW5UZXN0
KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9udWxsLWNhbGxiYWNrcy5odG1sLgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0
ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNy
ZWF0aW9uLWNhbGxiYWNrLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9v
cGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlv
bi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJz
cWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sOiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVj
dGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1l
bXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVy
LXF1b3RhLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQt
ZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24uaHRtbDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHkt
dmVyc2lvbi5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hp
bGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5
b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dy
ZXNzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNl
LXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mu
aHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5z
YWN0aW9uLWluLXByb2dyZXNzLmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9v
cGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzLgorICAgICAgICAo
b3BlblRlc3REYXRhYmFzZSk6CisgICAgICAgIChydW5UZXN0LmRiMS50cmFuc2FjdGlvbik6Cisg
ICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dz
aW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3Rz
L3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQuCisg
ICAgICAgICogc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5o
dG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5v
cmVhZC1ub3dyaXRlLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tp
bmctZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10
cmFja2luZy1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJh
Y2tpbmcuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEtdHJhY2tp
bmcuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2Fj
dGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXItZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRl
LXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRo
ZXIuaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2Fj
dGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5qcy4KKyAg
ICAgICAgKHRlcm1pbmF0ZVRlc3QpOgorICAgICAgICAob3BlblRlc3REYXRhYmFzZSk6CisgICAg
ICAgIChydW5UcmFuc2FjdGlvbik6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9y
YWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3Rl
ZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtdHJhbnNhY3Rpb25z
LXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sOiBSZW5hbWVk
IGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1
cnJlbnRseS5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFz
ZS1jb21tb24uanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Jlc291cmNlcy9k
YXRhYmFzZS1jb21tb24uanMuCisgICAgICAgIChvcGVuRGF0YWJhc2VXaXRoU3VmZml4KToKKyAg
ICAgICAgKGxvZyk6CisgICAgICAgIChzZXRMb2NhdGlvbkhhc2gpOgorICAgICAgICAoc2V0dXBB
bmRSdW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2Ut
bG9jay1hZnRlci1yZWxvYWQtMi5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFn
ZS9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sLgorICAgICAgICAq
IHN0b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sLgorICAgICAg
ICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEtdHlwZXMtZXhwZWN0ZWQudHh0LgorICAg
ICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWw6IFJlbmFtZWQgZnJvbSBM
YXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmh0bWwuCisgICAgICAgICogc3RvcmFn
ZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuanM6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3NxbC1kYXRhLXR5cGVzLmpzLgorICAgICAgICAod3JpdGVNZXNzYWdlVG9Mb2cpOgorICAg
ICAgICAobm90aWZ5RG9uZSk6CisgICAgICAgIChzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUpOgor
ICAgICAgICAodGVzdERCVmFsdWVzKToKKyAgICAgICAgKGZldGNoREJWYWx1ZXNTdG10KToKKyAg
ICAgICAgKGluc2VydFRlc3RWYWx1ZXNTdG10KToKKyAgICAgICAgKGNyZWF0ZVRlc3REQlN0bXQp
OgorICAgICAgICAocnVuVGVzdCk6CisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9y
LWNvZGVzLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3Fs
LWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC9zcWwt
ZXJyb3ItY29kZXMuaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVy
cm9yLWNvZGVzLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVz
LmpzOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3ItY29kZXMuanMu
CisgICAgICAgIChmaW5pc2hUZXN0KToKKyAgICAgICAgKHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ayk6CisgICAgICAgICh0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk6CisgICAgICAgICh0ZXN0
VHJhbnNhY3Rpb24pOgorICAgICAgICAodGVzdFRyYW5zYWN0aW9uVGhyb3dzRXhjZXB0aW9uKToK
KyAgICAgICAgKHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRGYWlsdXJl
KToKKyAgICAgICAgKHRlc3RJbnZhbGlkU3RhdGVtZW50KToKKyAgICAgICAgKHRlc3RJbmNvcnJl
Y3ROdW1iZXJPZkJpbmRQYXJhbWV0ZXJzKToKKyAgICAgICAgKHRlc3RCaW5kUGFyYW1ldGVyT2ZX
cm9uZ1R5cGUuYmFkU3RyaW5nLnRvU3RyaW5nKToKKyAgICAgICAgKHRlc3RCaW5kUGFyYW1ldGVy
T2ZXcm9uZ1R5cGUpOgorICAgICAgICAodGVzdFF1b3RhRXhjZWVkZWQpOgorICAgICAgICAodGVz
dFZlcnNpb25NaXNtYXRjaC5kYi50cmFuc2FjdGlvbik6CisgICAgICAgICh0ZXN0VmVyc2lvbk1p
c21hdGNoKToKKyAgICAgICAgKHJ1blRlc3QpOgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N0
YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQuCisgICAg
ICAgICogc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVt
ZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQu
aHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3Rh
dGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9y
YWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxs
YmFjay1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nl
c3MtY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3N1Y2Nl
c3MtY2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vz
cy1jYWxsYmFjay5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXpl
ci1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0
aG9yaXplci1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRo
b3JpemVyLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9y
aXplci5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qczog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzLgorICAg
ICAgICAodGVybWluYXRlVGVzdCk6CisgICAgICAgIChsb2dBbmRUZXJtaW5hdGVUZXN0KToKKyAg
ICAgICAgKGNsZWFudXApOgorICAgICAgICAoc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKToKKyAg
ICAgICAgKHN0YXRlbWVudEVycm9yQ2FsbGJhY2spOgorICAgICAgICAoZXhlY3V0ZVN0YXRlbWVu
dCk6CisgICAgICAgIChjcmVhdGVUYWJsZUNhbGxiYWNrKToKKyAgICAgICAgKGNyZWF0ZVN0YXRl
bWVudHNDYWxsYmFjayk6CisgICAgICAgIChvdGhlclN0YXRlbWVudHNDYWxsYmFjayk6CisgICAg
ICAgIChkcm9wU3RhdGVtZW50c0NhbGxiYWNrKToKKyAgICAgICAgKHRlc3RSZWFkV3JpdGVNb2Rl
KToKKyAgICAgICAgKHRlc3RSZWFkT25seU1vZGUuZGIpOgorICAgICAgICAodGVzdFJlYWRPbmx5
TW9kZSk6CisgICAgICAgIChydW5UZXN0KToKKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90cmFu
c2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jh
c2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbC4KKyAgICAgICAg
KiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBl
Y3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBzdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5hbWVkIGZy
b20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sLgorICAgICAgICAqIHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNh
Y3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4
dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWw6IFJlbmFt
ZWQgZnJvbSBMYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlz
b2xhdGVkLXdvcmxkLmh0bWwuCisgICAgICAgICogc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2suaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJh
bnNhY3Rpb24tZXJyb3ItY2FsbGJhY2suaHRtbC4KKyAgICAgICAgKiBzdG9yYWdlL3dlYnNxbC90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dDog
UmVuYW1lZCBmcm9tIExheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQuCisgICAgICAgICogc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLmh0bWwuCisKIDIwMTItMDUtMjEgIFphbiBEb2JlcnNlayAgPHphbmRv
YmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSyBnYXJkZW5pbmcsIGFk
ZCBleHBlY3RhdGlvbnMgZm9yIGFuIFNWRyB0ZXN0IGZvciBoaXQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS13b3JrZXItY29u
dHJvbGxlci5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zdG9yYWdlL3Jlc291cmNlcy9k
YXRhYmFzZS13b3JrZXItY29udHJvbGxlci5qcwppbmRleCBhOGE5NzUzNWVjMjRmOTQyYTgxNGNj
MTJjZjFjZDk4YjJlYTEwYjdjLi5hNzY1ZThjMTM1OGVjNGE0ZWVhMGZhNjhhZGRmNjhkMmYyOTRm
YmU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc3RvcmFnZS9yZXNvdXJj
ZXMvZGF0YWJhc2Utd29ya2VyLWNvbnRyb2xsZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3N0b3JhZ2UvcmVzb3VyY2VzL2RhdGFiYXNlLXdvcmtlci1jb250cm9sbGVyLmpzCkBA
IC0zMyw3ICszMyw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QodGVzdEZpbGUpCiAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKICAgICB9CiAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgPSAiIjsKLSAgICBkYXRhYmFzZVdvcmtl
ci5wb3N0TWVzc2FnZSgiaW1wb3J0U2NyaXB0czouLi8uLi8uLi9zdG9yYWdlLyIgKyB0ZXN0Rmls
ZSk7CisgICAgZGF0YWJhc2VXb3JrZXIucG9zdE1lc3NhZ2UoImltcG9ydFNjcmlwdHM6Li4vLi4v
Li4vc3RvcmFnZS93ZWJzcWwvIiArIHRlc3RGaWxlKTsKICAgICBkYXRhYmFzZVdvcmtlci5wb3N0
TWVzc2FnZSgicnVuVGVzdCIpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1tYWMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvc3RhdGVtZW50
LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNDkzOWFjZGRhYWVmNDdjNjQzMmJkNTZkYTMzNDQ4ZWVjY2FmN2RlZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1tYWMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY3
OiBVbmNhdWdodCBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNhbGxiYWNrCi1UaGlzIHRl
c3QgY29uZmlybXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0ZWx5IHJvbGxlZCBiYWNr
IGlmIGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJhY2sgdGhyb3dzIGFuIGV4
Y2VwdGlvbiwgcmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBhbnkgdmFsdWUuCi1QQVNT
IC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRo
ZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJh
bnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0
aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBl
cnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3Ig
Y2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2Fs
bGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJh
Y2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sg
d2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1j
cmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0
ZDBhN2UyYWE4MjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAt
MSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVW5jYXVnaHQgVHJhbnNhY3Rp
b25DYWxsYmFja0Vycm9yCi1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBw
YXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9y
YWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2NkOWRjZmZmMDU5
OGI0Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3Rv
cmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxP
YmplY3Q+Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgotVGhp
cyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9r
ZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlv
biBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLVRlc3RpbmcgdHJhbnNhY3Rpb24g
ZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NF
U1MKLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFj
ayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJv
d2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VT
UwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJv
ciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwgVGVzdHMgYXJlIGNvbXBs
ZXRlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1tYWMvc3Rv
cmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLW1hYy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJy
b3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5MzlhY2RkYWFlZjQ3YzY0MzJi
ZDU2ZGEzMzQ0OGVlY2NhZjdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjc6
IFVuY2F1Z2h0IEV4Y2VwdGlvbiBpbiBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sKK1RoaXMgdGVz
dCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkgcm9sbGVkIGJhY2sg
aWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0aHJvd3MgYW4gZXhj
ZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2YWx1ZS4KK1BBU1Mg
LSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhl
IHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFu
c2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rp
b24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVy
cm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBj
YWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxs
YmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3
YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2VzcyBjYWxsYmFjayB3YXMg
aW52b2tlZC4KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2Vw
dGlvbi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS1t
YWMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWFiMGU3MTAyY2NmMWY2Yjg2MjU3NjUxZGY0ZDBhN2Uy
YWE4MjdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
bWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTM6IFVu
Y2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gs
IHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS1tYWMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
Y2Q5ZGNmZmYwNTk4YjRjODk5NTJmM2JhMzU4ZmM3OGQzZmI4MGNmCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3N0b3JhZ2Uvd2Vic3FsL3RyYW5z
YWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmplY3Q+CitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FM
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRs
ZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sg
b24gZmFpbHVyZS4KK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJv
ciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3RpbmcgdHJhbnNhY3Rpb24g
ZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNT
CitUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9y
IGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2Fs
bGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFs
c2UgOiBTVUNDRVNTCitBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2Fs
bGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0
b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNDkzOWFjZGRhYWVmNDdjNjQzMmJkNTZkYTMzNDQ4ZWVjY2FmN2Rl
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDY3OiBVbmNhdWdodCBFeGNlcHRpb24gaW4gc3RhdGVtZW50IGVycm9yIGNh
bGxiYWNrCi1UaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHRyYW5zYWN0aW9uIGlzIGltbWVkaWF0
ZWx5IHJvbGxlZCBiYWNrIGlmIGFuZCBvbmx5IGlmIGEgc3RhdGVtZW50J3MgZXJyb3IgY2FsbGJh
Y2sgdGhyb3dzIGFuIGV4Y2VwdGlvbiwgcmV0dXJucyB0cnVlLCBvciBkb2Vzbid0IHJldHVybiBh
bnkgdmFsdWUuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4K
LVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNT
IC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRo
ZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJh
bnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0
aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9u
IHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1
Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nl
c3MgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWFiMGU3MTAyY2Nm
MWY2Yjg2MjU3NjUxZGY0ZDBhN2UyYWE4MjdhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9y
YWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwyICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxMzogVW5j
YXVnaHQgVHJhbnNhY3Rpb25DYWxsYmFja0Vycm9yCi1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwg
dGhpcyB0ZXN0IGhhcyBwYXNzZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3RyYW5zYWN0aW9u
LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggM2NkOWRjZmZmMDU5OGI0Yzg5OTUyZjNiYTM1OGZjNzhkM2ZiODBjZi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw5ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA2
MzogVW5jYXVnaHQgIzxPYmplY3Q+Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0
ICM8T2JqZWN0PgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrIGlzIGludm9rZWQgY29ycmVjdGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQs
IHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdheXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KLVRlc3Rp
bmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5p
bmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFu
ZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UgOiBTVUNDRVNTCi1UZXN0aW5nIHN0YXRlbWVu
dCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmlu
ZyB0cnVlIDogU1VDQ0VTUwotVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhj
ZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCi1BbGwg
VGVzdHMgYXJlIGNvbXBsZXRlLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9zdG9yYWdlL3dlYnNx
bC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5Mzlh
Y2RkYWFlZjQ3YzY0MzJiZDU2ZGEzMzQ0OGVlY2NhZjdkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50
LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNjc6IFVuY2F1Z2h0IEV4Y2VwdGlvbiBpbiBzdGF0ZW1lbnQgZXJyb3IgY2Fs
bGJhY2sKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRl
bHkgcm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFj
ayB0aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFu
eSB2YWx1ZS4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9r
ZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgor
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1Mg
LSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhl
IHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFu
c2FjdGlvbiBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rp
b24gc3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24g
c3VjY2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3Vj
Y2VzcyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gc3VjY2Vz
cyBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhj
ZXB0aW9uLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWFiMGU3MTAyY2NmMWY2Yjg2
MjU3NjUxZGY0ZDBhN2UyYWE4MjdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0td2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4
Y2VwdGlvbi1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTM6IFVuY2F1Z2h0IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgorSWYgV2ViS2l0
IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zY2Q5ZGNmZmYwNTk4YjRjODk5NTJmM2JhMzU4ZmM3OGQzZmI4MGNmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N0b3Jh
Z2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA2MzogVW5jYXVnaHQgIzxPYmplY3Q+CitD
T05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFVuY2F1Z2h0ICM8T2JqZWN0PgorVGhpcyB0ZXN0IGNv
bmZpcm1zIHRoYXQgU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrIGlzIGludm9rZWQgY29ycmVj
dGx5IGFuZCByZWdhcmRsZXNzIG9mIGl0cyBvdXRwdXQsIHRoZSB0cmFuc2FjdGlvbiBpcyBhbHdh
eXMgcm9sbGVkIGJhY2sgb24gZmFpbHVyZS4KK1Rlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBt
aWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKK1Rlc3Rp
bmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4g
ZmFsc2UgOiBTVUNDRVNTCitUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNl
cHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyB0cnVlIDogU1VDQ0VTUworVGVzdGlu
ZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFj
ayByZXR1cm5pbmcgZmFsc2UgOiBTVUNDRVNTCitBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3F1b3RhLXRy
YWNraW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3Jh
Z2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4MjliZDhkOTFhOTk1N2YzMjVjMzgwYmQyOTAxOWNiODBkZTExNzIwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMTQgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBx
dW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFz
IHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtp
dC9jaGFuZ2VzZXQvMjk5ODMuCi1UaGUgdGVzdCBjbGVhcnMgYWxsIGRhdGFiYXNlcywgc2V0cyB0
aGUgcXVvdGEgZm9yIHRoZSBvcmlnaW4gdG8gNDBrLCB0aGVuIHRyaWVzIHRvIGluc2VydCAxN2sg
b2YgZGF0YSBpbnRvIHR3byBkYXRhYmFzZXMuIElmIHRoaW5ncyBnbyBhcyBwbGFubmVkLCB0aGUg
c2Vjb25kIGluc2VydCBzaG91bGQgZmFpbCwgdGhlIFVJIERlbGVnYXRlIHNob3VsZCBiZSBpbmZv
cm1lZCBvZiB0aGUgZXhjZWVkZWQgcXVvdGEgYW5kIHNob3VsZCBpbmNyZWFzZSB0aGUgcXVvdGEg
Zm9yIHRoaXMgb3JpZ2luLiBJbnNlcnRpbmcgMTdrIG9mIGRhdGEgdGhlIHRoaXJkIHRpbWUgc2hv
dWxkIHN1Y2NlZWQgYWdhaW4uCi1BZGRpbmcgYSB0YWJsZQotSW5zZXJ0aW5nIHNvbWUgZGF0YQot
RG9uZSBhZGRpbmcgZGF0YQotQWRkaW5nIGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLUV4
cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtIHRoZXJlIHdhcyBub3QgZW5vdWdoIHJlbWFpbmluZyBz
dG9yYWdlIHNwYWNlLCBvciB0aGUgc3RvcmFnZSBxdW90YSB3YXMgcmVhY2hlZCBhbmQgdGhlIHVz
ZXIgZGVjbGluZWQgdG8gYWxsb3cgbW9yZSBzcGFjZQotRG9uZSBhZGRpbmcgZGF0YQotQWRkaW5n
IGEgdGFibGUKLUluc2VydGluZyBzb21lIGRhdGEKLVVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gdGhl
cmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRoZSBzdG9yYWdl
IHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxvdyBtb3JlIHNw
YWNlCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE2MjZiY2MzMjQyZDAxMDA5MjczMTM1M2M3
NmRjMmNmNGJlZWQ1Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3NxbC1lcnJvci1jb2Rl
cy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1F
U1NBR0U6IGxpbmUgMzc6IFVuY2F1Z2h0IEV4Y2VwdGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24g
Y2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgNjk6IFVuY2F1Z2h0IENhbm5vdCBjYWxs
IHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCi1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9yIGNv
ZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCi1QQVNTOiBleHBlY3RlZCBh
bmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJy
b3IgY29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFNZ
TlRBWF9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJSCi1Q
QVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVj
dGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3Qg
ZXJyb3IgY29kZSBWRVJTSU9OX0VSUgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2lu
Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI5YmQ4ZDkxYTk5NTdmMzI1YzM4MGJkMjkwMTlj
YjgwZGUxMTcyMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL3N0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE0IEBACitUaGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5m
b3JjZWQgcGVyLW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHBy
aW9yIHRvIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8y
OTk4My4KK1RoZSB0ZXN0IGNsZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3Ig
dGhlIG9yaWdpbiB0byA0MGssIHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8g
dHdvIGRhdGFiYXNlcy4gSWYgdGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0
IHNob3VsZCBmYWlsLCB0aGUgVUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBl
eGNlZWRlZCBxdW90YSBhbmQgc2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmln
aW4uIEluc2VydGluZyAxN2sgb2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBh
Z2Fpbi4KK0FkZGluZyBhIHRhYmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBk
YXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEg
ZXhjZXB0aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2Us
IG9yIHRoZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0
byBhbGxvdyBtb3JlIHNwYWNlCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5z
ZXJ0aW5nIHNvbWUgZGF0YQorVW5leHBlY3RlZCBleGNlcHRpb24gLSB0aGVyZSB3YXMgbm90IGVu
b3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0b3JhZ2UgcXVvdGEgd2FzIHJl
YWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1vcmUgc3BhY2UKK1Rlc3QgQ29t
cGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vc3RvcmFn
ZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWE2MjZiY2MzMjQyZDAxMDA5MjczMTM1M2M3NmRjMmNmNGJlZWQ1YwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3N0b3JhZ2Uvd2Vi
c3FsL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDM3OiBVbmNhdWdodCBFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0
aW9uIGNhbGxiYWNrLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDY5OiBVbmNhdWdodCBDYW5ub3Qg
Y2FsbCB0b1N0cmluZygpIG9uIHRoaXMgb2JqZWN0LgorVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJv
ciBjb2RlcyByZXBvcnRlZCBpbiBleGNlcHRpb25hbCBzaXR1YXRpb25zLgorUEFTUzogZXhwZWN0
ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290
IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29k
ZSBTWU5UQVhfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgU1lOVEFYX0VS
UgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlIFVOS05PV05fRVJSCitQQVNTOiBl
eHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgUVVPVEFfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQg
Z290IGVycm9yIGNvZGUgVkVSU0lPTl9FUlIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGRiMDAyNmZiNzFjMTg3N2Zi
MjA4YmYyZjNlYTgwNTdiNzEzZTIwYjUuLmE2Mjk1ZDQ2MTQyODZkNjFhMTY0MDI2YzNjNjc3Zjhk
ZjUwNWU3YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKQEAgLTU3OSw3ICs1NzksNyBAQCBXT05URklYIFNLSVAgOiBwbHVn
aW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS5odG1sID0gRkFJTAogV09OVEZJWCBTS0lQIDogcGx1
Z2lucy9wcml2YXRlLWJyb3dzaW5nLW1vZGUtMi5odG1sID0gVEVYVAogV09OVEZJWCBTS0lQIDog
c3RvcmFnZS9kb21zdG9yYWdlL2xvY2Fsc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLWFmZmVjdHMt
c3RvcmFnZS5odG1sID0gRkFJTAogV09OVEZJWCBTS0lQIDogc3RvcmFnZS9kb21zdG9yYWdlL3Nl
c3Npb25zdG9yYWdlL3ByaXZhdGUtYnJvd3NpbmctYWZmZWN0cy1zdG9yYWdlLmh0bWwgPSBGQUlM
Ci1XT05URklYIFNLSVAgOiBzdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3JpdGUu
aHRtbCA9IFBBU1MKK1dPTlRGSVggU0tJUCA6IHN0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Np
bmctbm9yZWFkLW5vd3JpdGUuaHRtbCA9IFBBU1MKIAogLy8gV2UgZG9uJ3QgbGV0IGFueW9uZSBz
ZXQgc3RhdHVzIGluIHRoZSBicm93c2VyLgogV09OVEZJWCBTS0lQIDogcGx1Z2lucy9zZXQtc3Rh
dHVzLmh0bWwgPSBURVhUCkBAIC0xMDkyLDcgKzEwOTIsNyBAQCBCVUdDUjMzMjExIFdJTiBERUJV
RyA6IGh0dHAvdGVzdHMvbG9hZGluZy9kZWxldGVkLWhvc3QtaW4tcmVzb3VyY2UtbG9hZC1kZWxl
Z2F0ZQogQlVHQ1IzMzIxMSBMSU5VWCBNQUMgOiBodHRwL3Rlc3RzL2xvYWRpbmcvZGVsZXRlZC1o
b3N0LWluLXJlc291cmNlLWxvYWQtZGVsZWdhdGUtY2FsbGJhY2suaHRtbCA9IFRJTUVPVVQKIAog
Ly8gSFRNTDUgREIgbGF5b3V0IHRlc3RzCi1CVUdDUjI3Njk3IFNLSVAgOiBzdG9yYWdlL2hhc2gt
Y2hhbmdlLXdpdGgteGhyLmh0bWwgPSBQQVNTCitCVUdDUjI3Njk3IFNLSVAgOiBzdG9yYWdlL3dl
YnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1sID0gUEFTUwogCiAvLyBJbXBsZW1lbnRhdGlv
biBvZiBEYXRlL3RpbWUgaW5wdXQgdHlwZXMgYXJlIGluY29tcGxldGUgYW5kCiAvLyBFTkFCTEVf
SU5QVVRfVFlQRV8qIGZsYWdzIGFyZSBub3QgZW5hYmxlZC4KQEAgLTE4NjUsNyArMTg2NSw3IEBA
IEJVR19KQVBIRVQgV0lOIDogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVz
dC01MG1zLWRvd25sb2FkLWRpc3BhdGNoCiAvLyBEdWUgdG8gdGhlIGRpZmZlcmVuY2VzIGluIGhh
bmRsaW5nIHRleHQgZW5jb2RpbmdzIGluIEtVUkwgYW5kIGdvb2dsZXVybC4KIEJVR1dLMjA1NTkg
OiBodHRwL3Rlc3RzL25hdmlnYXRpb24vYW5jaG9yLWZyYW1lcy1nYmsuaHRtbCA9IFRFWFQKIAot
QlVHV0szNjY2NiA6IHN0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwgPSBURVhU
CitCVUdXSzM2NjY2IDogc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0
bWwgPSBURVhUCiAKIEJVR1dLMzcyODMgOiBmYXN0L292ZXJmbG93L3Njcm9sbGJhci1yZXN0b3Jl
ZC1hbmQtdGhlbi1sb2NrZWQuaHRtbCA9IFRFWFQKIApAQCAtMjExMSw3ICsyMTExLDcgQEAgQlVH
V0s2MzA1NyBSRUxFQVNFIDogcGVyZi9hZGRpbmctcmFkaW8tYnV0dG9ucy5odG1sID0gTUlTU0lO
RyBGQUlMIFBBU1MKIC8vIEZhaWxpbmcgYWZ0ZXIgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFu
Z2VzZXQvNjU2NjUvCiAKIC8vIG5ldyBvciBmYWlsaW5nIHNpbmNlIFdlYktpdCByZXYuIDY1NzQw
OjY1ODAwCi1CVUdDUjUzMDczIFNLSVAgREVCVUcgOiBzdG9yYWdlL2NoYW5nZS12ZXJzaW9uLmh0
bWwgPSBQQVNTIENSQVNICitCVUdDUjUzMDczIFNLSVAgREVCVUcgOiBzdG9yYWdlL3dlYnNxbC9j
aGFuZ2UtdmVyc2lvbi5odG1sID0gUEFTUyBDUkFTSAogCiAvLyByNjYxNDQgYWRkZWQgdGVzdHMg
dG8gdGVzdCB1c2VyIHNjcmlwdHMgb24gc3BlY2lhbCBkb2N1bWVudHMsIGFuZCBMaW51eCBjYW4n
dAogLy8gcGFzcyB0aGVtIGJlY2F1c2UgdGhleSByZWx5IG9uIFF1aWNrVGltZSBiZWluZyBpbnN0
YWxsZWQuIFdlIHdvbnRmaXggdGhlc2UKQEAgLTM1MDgsOSArMzUwOCw5IEBAIEJVR1dLODIxMjkg
TUFDIDogZmFzdC9ibG9jay9saW5lYm94Y29udGFpbi9nbHlwaHMuaHRtbCA9IFRFWFQKIAogQlVH
V0s4MjY2OSBMSU5VWCBXSU4gTEVPUEFSRCA6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3NwYWNl
cy1jb21iaW5lZC1pbi12ZXJ0aWNhbC10ZXh0Lmh0bWwgPSBURVhUCiAKLUJVR1dLODI3MTcgU05P
V0xFT1BBUkQgOiBzdG9yYWdlL3F1b3RhLXRyYWNraW5nLmh0bWwgPSBQQVNTIFRJTUVPVVQKLUJV
R1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9u
ZS1zdGF0ZW1lbnQuaHRtbCA9IFBBU1MgVElNRU9VVAotQlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6
IHN0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCA9IFBBU1MgVElNRU9VVAor
QlVHV0s4MjcxNyBTTk9XTEVPUEFSRCA6IHN0b3JhZ2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLmh0
bWwgPSBQQVNTIFRJTUVPVVQKK0JVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL3dlYnNx
bC9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwgPSBQQVNTIFRJTUVP
VVQKK0JVR1dLODI3MTcgU05PV0xFT1BBUkQgOiBzdG9yYWdlL3dlYnNxbC9kYXRhYmFzZS1sb2Nr
LWFmdGVyLXJlbG9hZC5odG1sID0gUEFTUyBUSU1FT1VUCiAKIC8vIFRoZXNlIHRlc3RzIGRlcGVu
ZHMgb24gV29ya2VyIGJlaGF2aW9yIHRoYXQgaXMgYnJva2VuIGluIERSVAogQlVHV0s4Mjc3NiBT
S0lQIDogc3RvcmFnZS9pbmRleGVkZGIvZG9udC1jb21taXQtb24tYmxvY2tlZC5odG1sID0gUEFT
UyBGQUlMCkBAIC0zNjcyLDggKzM2NzIsOCBAQCBCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVB
U0UgOiBodHRwL3Rlc3RzL2xvYWRpbmcvMzA3LWFmdGVyLTMwMy1hZnRlci1wb3N0Lmh0bQogQlVH
V0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogaHR0cC90ZXN0cy9taXNjL29iamVjdC1lbWJl
ZGRpbmctc3ZnLWRlbGF5ZWQtc2l6ZS1uZWdvdGlhdGlvbi54aHRtbCA9IFRJTUVPVVQgUEFTUwog
QlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogcGxhdGZvcm0vY2hyb21pdW0vdmlydHVh
bC9ncHUvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC50ZXh0LWN1c3RvbS1mb250LWxvYWQtY3Jhc2gu
aHRtbCA9IFRJTUVPVVQgUEFTUwogQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogcGxh
dGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvMmQudGV4dC5kcmF3LmZpbGwu
bWF4V2lkdGguZ3JhZGllbnQuaHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVP
UEFSRCBSRUxFQVNFIDogc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1y
dW4tdG9nZXRoZXIuaHRtbCA9IFRJTUVPVVQgUEFTUwotQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBS
RUxFQVNFIDogc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5o
dG1sID0gVElNRU9VVCBQQVNTCitCVUdXSzgzMDc2IFNOT1dMRU9QQVJEIFJFTEVBU0UgOiBzdG9y
YWdlL3dlYnNxbC9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIu
aHRtbCA9IFRJTUVPVVQgUEFTUworQlVHV0s4MzA3NiBTTk9XTEVPUEFSRCBSRUxFQVNFIDogc3Rv
cmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbCA9
IFRJTUVPVVQgUEFTUwogCiAvLyBicm9rZW4gaW4vYWZ0ZXIgcjExNTY0NgogQlVHV0s4NjQxNCA6
IGZhc3QvbG9hZGVyL2phdmFzY3JpcHQtdXJsLWluLWVtYmVkLmh0bWwgPSBURVhUCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCAxMmEzZjUx
OTM1M2I1Y2NhNTJlMTIwOWJhYzgxOWIyYzQ0NDNkYWU1Li42NjFmMWU0OTVhM2Q4NDllNzVjMGY4
ZjUyZDYzNmM1ODVkNDRhZDg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
dGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay90ZXN0
X2V4cGVjdGF0aW9ucy50eHQKQEAgLTY5OSwxMiArNjk5LDEyIEBAIEJVR1dLMjc5MDUgOiBodHRw
L3Rlc3RzL2xvYWRpbmcvcmVkaXJlY3QtbWV0aG9kcy5odG1sID0gRkFJTAogCiAvLyBOZXcgdGVz
dCBpbmZyYXN0cnVjdHVyZSByZXF1aXJlZCAtLSBuZWVkIGlzb2xhdGVkIHdvcmxkcwogQlVHV0sz
MTUwOCA6IGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZCA9IEZBSUwKLUJVR1dLMzE1
MDggOiBzdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQuaHRtbCA9IEZBSUwKLUJVR1dLMzE1MDggOiBzdG9yYWdlL3N0YXRlbWVudC1lcnJvci1jYWxs
YmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0szMTUwOCA6IHN0b3JhZ2Uvc3Rh
dGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKLUJVR1dL
MzE1MDggOiBzdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwg
PSBGQUlMCi1CVUdXSzMxNTA4IDogc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sID0gRkFJTAotQlVHV0szMTUwOCA6IHN0b3JhZ2UvdHJhbnNhY3Rp
b24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sID0gRkFJTAorQlVHV0szMTUw
OCA6IHN0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLMzE1MDggOiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZBSUwKK0JVR1dLMzE1MDgg
OiBzdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sID0gRkFJTAorQlVHV0szMTUwOCA6IHN0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCitCVUdXSzMxNTA4IDogc3RvcmFnZS93
ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCA9IEZB
SUwKK0JVR1dLMzE1MDggOiBzdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgPSBGQUlMCiAKIEJVR1dLMzA1NzcgOiBlZGl0aW5nL3Nl
bGVjdGlvbi9tb3ZlLWxlZnQtcmlnaHQuaHRtbCA9IEZBSUwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzkzOWUzNjUwYzU1NzNmYjlmOGRkMDc2ZWRjMjE5MmY5ODdmNzFlZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAs
MCBAQAotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIEpTIGRhdGFiYXNlLmNoYW5nZVZlcnNp
b24oKSBmdW5jdGlvbiB3b3JrcyBhcyBleHBlY3RlZC4KLUZpbmlzaGVkIHRlc3RzIHdpdGggdmVy
c2lvbiAzOyBleHBlY3RlZCB2ZXJzaW9uOiAzCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2Y3NjQ4MWIzNGVjMjg1
NjFkZTAyNzIzNGM1OTdmOWU0Zjg5YTE1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRs
ZS1yZXVzZS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRoaXMg
dGVzdHMgdGhhdCBhIGRhdGFiYXNlIGNhbiBiZSBhY2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBpdHMg
dmVyc2lvbi4gWW91IHNob3VsZCBzZWUgYW4gZXJyb3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJlbG93
LCBub3QgYWJvdXQgbWlzbWF0Y2hpbmcgdmVyc2lvbnMuCi1jaGFuZ2VWZXJzaW9uOiB0cmFuc2Fj
dGlvbiBjYWxsYmFjawotY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjawotdHJhbnNhY3Rp
b246IHN0YXRlbWVudCBlcnJvciBjYWxsYmFjazogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgxIG5vIHN1Y2ggdGFibGU6IEZvb0JhcikKLVRFU1QgQ09NUExFVEUuCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZjNmYmY0ODRkN2E4NWEzNDkwYjUxNWI3MDg5NTQ0
YWVlMDg2ZmExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4gCi08aGVhZD4KLTxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJj
aGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuanMiPjwvc2NyaXB0PgotPC9oZWFkPiAKLTxib2R5
IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCkiPiAKLTxkaXY+VGhpcyB0ZXN0cyB0aGF0IGEgZGF0
YWJhc2UgY2FuIGJlIGFjY2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hv
dWxkIHNlZSBhbiBlcnJvciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNt
YXRjaGluZyB2ZXJzaW9ucy4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlk
bid0IHJ1bi4KLTwvcHJlPiAKLTwvYm9keT4gCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9uLWhhbmRsZS1yZXVzZS5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4NDdhNThjM2I5MWZmMmM1MDgwZjJjOTIwYTVkNDFhYmNiNWNlMmEyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCisrKyAvZGV2L251bGwKQEAg
LTEsNDYgKzAsMCBAQAotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0gICAgbG9nKCJURVNUIENP
TVBMRVRFLiIpOwotCi0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5U
ZXN0KCkKLXsKLSAgICB0cnkgewotICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgo
IkNoYW5nZVZlcnNpb24iLCAiIiwgIlRlc3QgdGhhdCBjaGFuZ2luZyBhIGRhdGFiYXNlIHZlcnNp
b24gZG9lc24ndCBraWxsIG91ciBoYW5kbGUgdG8gaXQiLCAxKTsKLSAgICAgICAgdmFyIHZlcnNp
b24gPSBkYi52ZXJzaW9uOwotICAgICAgICB2YXIgbmV3VmVyc2lvbiA9IHZlcnNpb24gPyAocGFy
c2VJbnQodmVyc2lvbikgKyAxKS50b1N0cmluZygpIDogIjEiOyAKLSAgICAgICAgZGIuY2hhbmdl
VmVyc2lvbih2ZXJzaW9uLCBuZXdWZXJzaW9uLCBmdW5jdGlvbih0eCkgewotICAgICAgICAgICAg
bG9nKCJjaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlvbiBjYWxsYmFjayIpOwotICAgICAgICB9LCBm
dW5jdGlvbihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBlcnJvciBj
YWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAg
ICAgICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjayIpOwotICAgICAg
ICAgICAgcnVuVGVzdDIoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIAotICAgIH0gY2F0Y2ggKGUp
IHsKLSAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uIGV4Y2VwdGlvbjogIiArIGUpOwotICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotIAotZnVuY3Rpb24gcnVuVGVzdDIoKQotewotICAg
IHRyeSB7Ci0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAg
ICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBmcm9tIEZvb0JhciIsIFtdLCBmdW5jdGlvbih0eCkg
ewotICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBjYWxsYmFjayIp
OwotICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgIH0sIGZ1bmN0aW9u
KHR4LCBlcnJvcikgewotICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVu
dCBlcnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9KTsKLSAgICB9IGNhdGNoIChl
KSB7Ci0gICAgICAgIGxvZygidHJhbnNhY3Rpb24gZXhjZXB0aW9uOiAiICsgZSk7Ci0gICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9uLXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxp
Z2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
YjBkNTQ5Y2IwY2Q0N2RmYTg2NjFlNmU2YzU5ODkwNDNiOTljMzMxLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdl
LXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBubyBhc3Nl
cnRpb24gaXMgdHJpZ2dlcmVkIHdoZW4gY2hhbmdlVmVyc2lvbigpJ3MgcHJlZmxpZ2h0IHN0ZXAg
ZmFpbHMuCi1QQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBhbmQg
bm8gYXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGln
aHQtZmFpbHVyZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTUxMmZiOWFj
OTFkZmI0ZGEyYzhmMmU4MzZkYmM1MDg3NjU5MTIwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvY2hhbmdlLXZlcnNpb24t
bm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM2
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gZmluaXNoVGVzdCgp
Ci17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkK
LXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBt
ZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIH0KLQotICAgIHZhciBkYiA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoIkNoYW5nZVZlcnNp
b25GYWlsdXJlVGVzdCIsICIxIiwgIlRlc3QgdGhlIHByZWZsaWdodCBzdGVwIiwgMTAyNCk7Ci0g
ICAgZGIuY2hhbmdlVmVyc2lvbigiMiIsICIzIiwgbnVsbCwgZnVuY3Rpb24oZXJyb3IpIHsKLSAg
ICAgICAgbG9nKCJQQVNTOiBkYi5jaGFuZ2VWZXJzaW9uKCkgZmFpbGVkIGFzIGV4cGVjdGVkLCBh
bmQgbm8gYXNzZXJ0aW9ucyB3ZXJlIHRyaWdnZXJlZC4iKTsKLSAgICAgICAgZmluaXNoVGVzdCgp
OwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICBsb2coIkZBSUw6IGRiLmNoYW5nZVZlcnNp
b24oKSB3YXMgZXhwZWN0ZWQgdG8gZmFpbC4iKTsKLSAgICAgICAgZmluaXNoVGVzdCgpOwotICAg
IH0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgot
VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgbm8gYXNzZXJ0aW9uIGlzIHRyaWdnZXJlZCB3aGVuIGNo
YW5nZVZlcnNpb24oKSdzIHByZWZsaWdodCBzdGVwIGZhaWxzLgotPHByZSBpZD0iY29uc29sZSI+
PC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2NoYW5nZS12ZXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2NoYW5nZS12ZXJzaW9u
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc5YmI5ZGY1ODhiOTRjZGRjMDNi
MmY3OWFjOWFhNGYwNjY0NmI5NWEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9jaGFuZ2UtdmVyc2lvbi5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08dGl0bGU+VGVzdCBk
YXRhYmFzZS5jaGFuZ2VWZXJzaW9uPC90aXRsZT4KLTxzY3JpcHQ+Ci12YXIgZGIxOwotdmFyIEVY
UEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCA9ICcyJzsKLXZhciBFWFBFQ1RFRF9WRVJT
SU9OX0FGVEVSX1JFTE9BRCA9ICczJzsKLQotZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsgfQot
Ci1mdW5jdGlvbiBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2sodHgpCi17Ci0gICAgdHguZXhlY3V0ZVNx
bCgiRFJPUCB0YWJsZSBpZiBleGlzdHMgaW5mbzsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlG
dW5jdGlvbik7Ci0gICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIHRhYmxlIGlmIG5vdCBleGlzdHMg
aW5mbyAodmVyc2lvbiBJTlRFR0VSKTsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlv
bik7Ci0gICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIGludG8gaW5mbyB2YWx1ZXMoPyk7IiwgW0VY
UEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlv
bik7Ci19Ci0KLWZ1bmN0aW9uIGNoYW5nZVZlcnNpb25TdWNjZXNzKCkKLXsKLSAgICBsb2coIlN1
Y2Nlc3NmdWxseSBjaGFuZ2VkIHZlcnNpb24gdG8gIiArIGRiMS52ZXJzaW9uICsgIi4gUmVsb2Fk
aW5nLiIpOwotICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsgJz8y
JzsKLX0KLQotZnVuY3Rpb24gY2hhbmdlVmVyc2lvbkVycm9yKGVycm9yKQotewotICAgIGxvZygi
RXJyb3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0
aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICBsb2coIlRF
U1QgQ09NUExFVEUiKTsKLX0KLQotZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7
Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2Vh
cmNoID09ICI/MiIpIHsKLSAgICAgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdl
dmVyc2lvbi10ZXN0IiwgIiIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigp
IGZ1bmN0aW9uIiwgMTAyNCk7Ci0gICAgICAgIGxvZygiRmluaXNoZWQgdGVzdHMgd2l0aCB2ZXJz
aW9uICIgKyBkYjEudmVyc2lvbiArICI7IGV4cGVjdGVkIHZlcnNpb246ICIgKyBFWFBFQ1RFRF9W
RVJTSU9OX0FGVEVSX1JFTE9BRCk7Ci0KLSAgICAgICAgLy8gUmVzZXQgdGhlIERCIHZlcnNpb24g
b3IgdGhlIG5leHQgcnVuIG1pZ2h0IGZhaWwuCi0gICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKGRi
MS52ZXJzaW9uLCAiMSIpOwotCi0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UKLSAg
ICAgICAgdGVzdFBhcnQxKCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3RQYXJ0MSgpIHsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIH0KLQotICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNpb24t
dGVzdCIsICIxIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rp
b24iLCAxMDI0KTsKLSAgICB2YXIgZGIyID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVy
c2lvbi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBm
dW5jdGlvbiIsIDEwMjQpOwotCi0gICAgLy8gRmlyc3QgcnVuIEhpeGllJ3MgdGVzdCB0byBlbnN1
cmUgYmFzaWMgY2hhbmdlVmVyc2lvbiBmdW5jdGlvbmFsaXR5IHdvcmtzIChzZWUgYnVnIDI4NDE4
KS4KLSAgICBkYjEuY2hhbmdlVmVyc2lvbigiMSIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElY
SUVfVEVTVCwgbnVsbCwgZnVuY3Rpb24gKGUpIHsKLSAgICAgICAgbG9nKCJGQUlMIGluIGNoYW5n
ZVZlcnNpb246IiArIGUpOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24g
KCkgewotICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZlcnNpb24gY2hhbmdlIGhhcyBwcm9wYWdh
dGVkIHRvIGRiMiB0b28uCi0gICAgICAgIC8vIEFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNob3Vs
ZCBmYWlsLgotICAgICAgICBpZiAoZGIyLnZlcnNpb24gIT0gZGIxLnZlcnNpb24pIHsKLSAgICAg
ICAgICAgIGxvZygiRkFJTDogY2hhbmdpbmcgZGIxJ3MgdmVyc2lvbiAoIiArIGRiMS52ZXJzaW9u
ICsgIikgZGlkIG5vdCBjaGFuZ2UgZGIyJ3MgdmVyc2lvbiAoIiArIGRiMi52ZXJzaW9uICsgIikg
YXMgZXhwZWN0ZWQuIik7Ci0gICAgICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0KLSAg
ICAgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKLSAgICAg
ICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBsb2co
IkZBSUw6IFRoZSBEQiB2ZXJzaW9uIGNoYW5nZWQsIGFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNo
b3VsZCBmYWlsLiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9KTsKLQot
ICAgICAgICAvLyBNYWtlIHN1cmUgYW55IG5ldyBoYW5kbGUgdG8gdGhlIHNhbWUgREIgc2VlcyB0
aGUgbmV3IHZlcnNpb24KLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHZhciBkYjMgPSBvcGVu
RGF0YWJhc2UoImNoYW5nZS12ZXJzaW9uLXRlc3QiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX0hJ
WElFX1RFU1QsICIiLCAwKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgbG9n
KCJGQUlMIGluIG9wZW5EYXRhYmFzZTogIiArIGUpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgp
OwotICAgICAgICB9Ci0gICAgICAgIGlmIChkYjEudmVyc2lvbiAhPSBkYjMudmVyc2lvbikgewot
ICAgICAgICAgICAgbG9nKCJGQUlMOiBkYi52ZXJzaW9uKCIgKyBkYjEudmVyc2lvbiArICIpIGRv
ZXMgbm90IG1hdGNoIGRiMy52ZXJzaW9uKCIgKyBkYjMudmVyc2lvbiArIikiKTsKLSAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIE5vdyB0cnkgYSB0ZXN0
IHRvIGVuc3VyZSB0aGUgdmVyc2lvbiBwZXJzaXN0cyBhZnRlciByZWxvYWRpbmcgKHNlZSBidWcg
Mjc4MzYpCi0gICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKEVYUEVDVEVEX1ZFUlNJT05fQUZURVJf
SElYSUVfVEVTVCwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQUQsIGNoYW5nZVZlcnNpb25D
YWxsYmFjaywgY2hhbmdlVmVyc2lvbkVycm9yLCBjaGFuZ2VWZXJzaW9uU3VjY2Vzcyk7Ci0gICAg
fSk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Ci1U
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1
bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgotPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmlu
Zy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2Nsb3NlLWR1
cmluZy1zdHJlc3MtdGVzdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDJhYWQ5MGMxNjI5ZTUwYjBlNjA1MmNmOGI2ZTQ3ZTEzZTEwMWMwMjIuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9j
bG9zZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEs
NSArMCwwIEBACi1TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJl
LgotCi1BIEphdmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwgaG93
ZXZlciwgYXMgdGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBmcmFt
ZS4gSXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJhc2UgYWN0aXZpdHkgYnkgdGhyb3dp
bmcgYW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9jbG9zZS1kdXJpbmctc3RyZXNzLXRlc3QuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWNjNTJmZDk1NTBkOTllNDRhYjg2MzBmYzY3MDJlZDk0Mjg4NTdlMi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2Nsb3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
MTkgKzAsMCBAQAotPGJvZHk+Ci08cD5TaG91bGQgbm90IGNyYXNoIG9yIGNhdXNlIGFuIGFzc2Vy
dGlvbiBmYWlsdXJlLjwvcD4KLTxwPkEgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25zb2xl
IGlzIGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVkIHdo
ZW4gY2xvc2luZyBhIGZyYW1lLgotSXQgYWN0dWFsbHkgaGVscHMgdG8gY2F1c2UgZGF0YWJhc2Ug
YWN0aXZpdHkgYnkgdGhyb3dpbmcgYW4gZXhjZXB0aW9uIGZyb20gYSBjYWxsYmFjay48L3A+Ci08
c2NyaXB0PgotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0VGVzdCgpCi17Ci0gICAgc2V0VGltZW91
dCgiZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdLnNyYyA9ICdhYm91
dDpibGFuayciLCAxMDApOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIsIDUw
MCk7Ci19Ci08L3NjcmlwdD4KLTxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0
bWwiIG9ubG9hZD0ic3RhcnRUZXN0KCkiPjwvaWZyYW1lPgotPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjcyOTU2M2FiODA4Y2IzZGJl
ZDc3MjUyZTdlNDAyMTJiNTBjZDMyMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVs
b2FkLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotSW5zZXJ0aW5n
IHNvbWUgZGF0YQotVGVzdCBwYXJ0IDIgQ29tcGxldGUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1YjU5ODlmNzgwMjU3Y2ZkM2JhNDk5OTU4NWU0ZTU3NjUyMTJiMTUwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gbG9nKG1l
c3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhU
TUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotZnVuY3Rpb24gZmluaXNoVGVzdCgpCi17Ci0g
ICAgbG9nKCJUZXN0IHBhcnQgMSBDb21wbGV0ZSIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
LX0KLQotZnVuY3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKLXsKLSAgICBsb2coIlRlc3QgZmFp
bGVkIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIGZpbmlzaFRlc3QoKTsKLX0KLQotZnVuY3Rp
b24gYWRkRGF0YShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAg
ICAgICBsb2coIkluc2VydGluZyBzb21lIGRhdGEiKTsKLSAgICAgICAgLy8gTG9hZCBhIG5ldyBw
YWdlIHdoaWxlIHRoZSB0cmFuc2FjdGlvbiBpcyBzdGlsbCBpbiBwcm9ncmVzcywgaW50ZXJydXB0
aW5nIHRoZSB0cmFuc2FjdGlvbi4KLSAgICAgICAgLy8gVGhpcyBzaG91bGQgbm90IGxlYXZlIHRo
ZSBkYXRhYmFzZSBsb2NrZWQgYW5kIG9uIHRoZSBuZXh0IHBhZ2Ugd2Ugc2hvdWxkIGJlIGFibGUg
dG8gaW5zZXJ0Ci0gICAgICAgIC8vIHNvbWUgbW9yZSBkYXRhLgotICAgICAgICB0eC5leGVjdXRl
U3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0IoNTI0
MjAwKSkiLCBbXSwKLSAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgbG9jYXRpb24u
aHJlZiA9ICIuL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwiOyB9
LAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVycm9yRnVuY3Rpb24oZXJyb3Ip
OyB9KTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHRlc3RE
YXRhKSBWQUxVRVMgKFpFUk9CTE9CKDUyNDIwMCkpIik7Ci0gICAgfSwgZXJyb3JGdW5jdGlvbiwg
ZnVuY3Rpb24oKSB7IGZpbmlzaFRlc3QoKTsgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQot
ewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7Ci0gICAgfQotCi0gICAgdmFyIGRhdGFiYXNlOwotICAgIHRyeSB7Ci0gICAg
ICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJEYXRhYmFzZUxvY2tUZXN0IiwgIjEuMCIsICJU
ZXN0IGZvciBkYXRhYmFzZSBsb2NraW5nIiwgNTI0Mjg4MCk7Ci0gICAgfSBjYXRjaCAoZSkgewot
ICAgICAgICBsb2coIkVycm9yIC0gY291bGQgbm90IG9wZW4gZGF0YWJhc2UiKTsKLSAgICAgICAg
ZmluaXNoVGVzdCgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7Ci0gICAgICAgIGxvZygiQWRkaW5nIGEgdGFibGUiKTsKLSAgICAgICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0ICh0ZXN0RGF0YSkiLCBbXSwgZnVuY3Rpb24odHgs
IHJlc3VsdCkgeyB9LAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7IGVycm9yRnVu
Y3Rpb24oZXJyb3IpOyB9KTsKLSAgICB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgYWRk
RGF0YShkYXRhYmFzZSk7IH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25s
b2FkPSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3OGQ5ZGNhNGUyNzM1MzRkYjNk
ODMzYjY5OTk1MGRjYjE1MTg0YWJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBAQAotRXhlY3V0ZWQgYW4gZW1wdHkgc3Rh
dGVtZW50LiBJZiB5b3UgZGlkbid0IHNlZSBhIGNyYXNoIG9yIGFzc2VydGlvbiwgdGhlIHRlc3Qg
cGFzc2VkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9lbXB0eS1zdGF0ZW1lbnQuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZlYzViOGNhYzVlNGE1ODI2MDg3NmJiNTM5ZmI4YmFi
NjA0Y2Y0OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2VtcHR5LXN0YXRlbWVudC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzYgKzAsMCBAQAotPGh0bWw+Ci0KLTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24gd3Jp
dGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gZXhl
Y3V0ZUVtcHR5U3RhdGVtZW50KHRyYW5zYWN0aW9uKQotewotICAgIHRyYW5zYWN0aW9uLmV4ZWN1
dGVTcWwoIiIpOwotICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJFeGVjdXRlZCBhbiBlbXB0eSBzdGF0
ZW1lbnQuIElmIHlvdSBkaWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0aGUgdGVzdCBw
YXNzZWQuIik7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0
KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2Uo
IkVtcHR5U3RhdGVtZW50VGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIGFuIGVtcHR5IHN0YXRl
bWVudCB0ZXN0IiwgMSk7Ci0gICAgZGIudHJhbnNhY3Rpb24oZXhlY3V0ZUVtcHR5U3RhdGVtZW50
KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LTxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMGUzMGI0YmRkNmNmZGJmMmQ5MjAzOWQ1NWEyOWU5MzY3YzYy
ZDFhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMjkgKzAsMCBAQAotUEFTUy4gZXhlY3V0ZVNxbChudWxsKSBkaWQgbm90IHRocm93
IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCh1bmRlZmluZWQpIGRpZCBub3QgdGhyb3cg
YW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKDApIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0
aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFT
Uy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1Mu
IGV4ZWN1dGVTcWwoIiIsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBB
U1MuIGV4ZWN1dGVTcWwoIiIsIFtdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4g
ZXhlY3V0ZVNxbCgiIiwgWyAiYXJnMCIgXSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBB
U1MuIGV4ZWN1dGVTcWwoIiIsIHsgfSkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1Mu
IGV4ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAwIH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
Ci1QQVNTLiBleGVjdXRlU3FsKCIiLCB7IGxlbmd0aDogMSwgMDogImFyZzAiIH0pIGRpZCBub3Qg
dGhyb3cgYW4gZXhjZXB0aW9uCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsKSBkaWQg
bm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgdW5kZWZp
bmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVs
bCwgeyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwg
bnVsbCwgbnVsbCwgbnVsbCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24KLVBBU1MuIGV4ZWN1
dGVTcWwoIiIsIG51bGwsIG51bGwsIHVuZGVmaW5lZCkgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRp
b24KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwsIHsgfSkgZGlkIG5vdCB0aHJvdyBh
biBleGNlcHRpb24KLVBBU1MuIGV4ZWN1dGVTcWwoKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhw
ZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKHRocm93T25Ub1N0cmluZ09iamVjdCkgdGhyZXcgYW4g
ZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0ZVNxbCgiIiwgdGhyb3dPbkdldExl
bmd0aE9iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0
ZVNxbCgiIiwgdGhyb3dPbkdldFplcm9PYmplY3QpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBl
Y3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIFsgdGhyb3dPblRvU3RyaW5nT2JqZWN0IF0pIHRo
cmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsIDApIHRo
cmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KLVBBU1MuIGV4ZWN1dGVTcWwoIiIsICIiKSB0
aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIiLCBudWxs
LCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCi1QQVNTLiBleGVjdXRlU3FsKCIi
LCBudWxsLCAiIikgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgotUEFTUy4gZXhlY3V0
ZVNxbCgiIiwgbnVsbCwgbnVsbCwgMCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgot
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgIiIpIHRocmV3IGFuIGV4Y2VwdGlvbiBh
cyBleHBlY3RlZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNx
bC1hcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjlmMmE0M2FiYWEzNjdjZDk1Y2IwMjY4Yzlm
NzRjOTg2YTk5YzVjYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDEzICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iZXhlY3V0ZS1z
cWwtYXJncy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRS
dW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVu
LgotPC9wcmU+IAotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2V4ZWN1dGUtc3FsLWFyZ3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGUt
c3FsLWFyZ3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiOTQxNGRiM2NhM2M4
MDUwNjFiZGFjNmFjNmM4ZmI3ZDdmYzkwMmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlLXNxbC1hcmdzLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotdmFyIHRocm93T25Ub1N0cmluZ09iamVj
dCA9IHsgfTsKLXRocm93T25Ub1N0cmluZ09iamVjdC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsg
dGhyb3cgIkNhbm5vdCBjYWxsIHRvU3RyaW5nIG9uIHRoaXMgb2JqZWN0LiIgfTsKLQotdmFyIHRo
cm93T25HZXRMZW5ndGhPYmplY3QgPSB7IH07Ci10aHJvd09uR2V0TGVuZ3RoT2JqZWN0Ll9fZGVm
aW5lR2V0dGVyX18oImxlbmd0aCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgbGVu
Z3RoIG9mIHRoaXMgb2JqZWN0LiI7IH0pOwotCi12YXIgdGhyb3dPbkdldFplcm9PYmplY3QgPSB7
IGxlbmd0aDogMSB9OwotdGhyb3dPbkdldFplcm9PYmplY3QuX19kZWZpbmVHZXR0ZXJfXygiMCIs
IGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgMCBwcm9wZXJ0eSBvZiB0aGlzIG9iamVj
dC4iOyB9KTsKLQotdmFyIGV4cGVjdE5vRXhjZXB0aW9uID0gWwotICAgICdudWxsJywKLSAgICAn
dW5kZWZpbmVkJywKLSAgICAnMCcsCi0gICAgJyIiJywKLSAgICAnIiIsIG51bGwnLAotICAgICci
IiwgdW5kZWZpbmVkJywKLSAgICAnIiIsIFtdJywKLSAgICAnIiIsIFsgImFyZzAiIF0nLAotICAg
ICciIiwgeyB9JywKLSAgICAnIiIsIHsgbGVuZ3RoOiAwIH0nLAotICAgICciIiwgeyBsZW5ndGg6
IDEsIDA6ICJhcmcwIiB9JywKLSAgICAnIiIsIG51bGwsIG51bGwnLAotICAgICciIiwgbnVsbCwg
dW5kZWZpbmVkJywKLSAgICAnIiIsIG51bGwsIHsgfScsCi0gICAgJyIiLCBudWxsLCBudWxsLCBu
dWxsJywKLSAgICAnIiIsIG51bGwsIG51bGwsIHVuZGVmaW5lZCcsCi0gICAgJyIiLCBudWxsLCBu
dWxsLCB7IH0nLAotXTsKLQotdmFyIGV4cGVjdEV4Y2VwdGlvbiA9IFsKLSAgICAnJywKLSAgICAn
dGhyb3dPblRvU3RyaW5nT2JqZWN0JywKLSAgICAnIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3Qn
LAotICAgICciIiwgdGhyb3dPbkdldFplcm9PYmplY3QnLAotICAgICciIiwgWyB0aHJvd09uVG9T
dHJpbmdPYmplY3QgXScsCi0gICAgJyIiLCAwJywKLSAgICAnIiIsICIiJywKLSAgICAnIiIsIG51
bGwsIDAnLAotICAgICciIiwgbnVsbCwgIiInLAotICAgICciIiwgbnVsbCwgbnVsbCwgMCcsCi0g
ICAgJyIiLCBudWxsLCBudWxsLCAiIicsCi1dOwotCi1mdW5jdGlvbiB0cnlFeGVjdXRlU3FsKHRy
YW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KQotewotICAgIHRyeSB7Ci0gICAgICAgIGV2YWwoJ3Ry
YW5zYWN0aW9uLmV4ZWN1dGVTcWwoJyArIHBhcmFtZXRlckxpc3QgKyAnKScpOwotICAgICAgICBy
ZXR1cm4gbnVsbDsKLSAgICB9IGNhdGNoIChleGNlcHRpb24pIHsKLSAgICAgICAgcmV0dXJuIGV4
Y2VwdGlvbjsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2Fj
dGlvbiwgcGFyYW1ldGVyTGlzdCwgZXhwZWN0RXhjZXB0aW9uKQotewotICAgIHZhciBleGNlcHRp
b24gPSB0cnlFeGVjdXRlU3FsKHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KTsKLSAgICBpZiAo
ZXhwZWN0RXhjZXB0aW9uKSB7Ci0gICAgICAgIGlmIChleGNlcHRpb24pCi0gICAgICAgICAgICBs
b2coIlBBU1MuIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNl
cHRpb24gYXMgZXhwZWN0ZWQuIik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxvZygiKkZB
SUwqLiBleGVjdXRlU3FsKCIgKyBwYXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24iKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoZXhjZXB0aW9uKQotICAgICAg
ICAgICAgbG9nKCIqRkFJTCouIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJl
dyBhbiBleGNlcHRpb246ICIgKyBleGNlcHRpb24pOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBsb2coIlBBU1MuIGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbiIpOwotICAgIH0KLX0KLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25U
ZXN0cyh0cmFuc2FjdGlvbikKLXsKLSAgICBmb3IgKGkgaW4gZXhwZWN0Tm9FeGNlcHRpb24pCi0g
ICAgICAgIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0Tm9FeGNlcHRpb25b
aV0sIGZhbHNlKTsKLSAgICBmb3IgKGkgaW4gZXhwZWN0RXhjZXB0aW9uKQotICAgICAgICBydW5U
cmFuc2FjdGlvblRlc3QodHJhbnNhY3Rpb24sIGV4cGVjdEV4Y2VwdGlvbltpXSwgdHJ1ZSk7Ci0K
LSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotCi0g
ICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiRXhlY3V0ZVNRTEFyZ3NUZXN0Iiwg
IjEuMCIsICJUZXN0IG9mIGhhbmRsaW5nIG9mIHRoZSBhcmd1bWVudHMgdG8gU1FMVHJhbnNhY3Rp
b24uZXhlY3V0ZVNxbCIsIDEpOwotICAgIGRiLnRyYW5zYWN0aW9uKHJ1blRyYW5zYWN0aW9uVGVz
dHMpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2Vw
dHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
ZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI5NWNlZWU4Yzg4M2FkZTE0M2VhOTZhMTUyMzU3ZDA2
NzU5YTlmYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotVGhpcyB0ZXN0IHRl
c3RzIHRoYXQgZXhlY3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVkIHdpdGggYSBzdHJpbmcgdGhh
dCBoYXMgbW9yZSB0aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4gaXQuCi1UZXN0IHBhc3NlZC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9leGVjdXRlc3FsLWFjY2VwdHMtb25s
eS1vbmUtc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4ZWN1dGVzcWwtYWNj
ZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYTM4NjBjODk5MjVmMmZjZGIxMDYzNmZlN2M2MjNhYzgzYjEzNjAyYS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2V4
ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1zdGF0ZW1lbnQuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDc4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi12YXIgVE9UQUxfU1RB
VEVNRU5UUyA9IDg7Ci12YXIgc3RhdGVtZW50cyA9IDA7Ci12YXIgZGIgPSBudWxsOwotCi1mdW5j
dGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCArPSBtZXNz
YWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCi17Ci0gICAgaWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBleGVjdXRlU3RhdGVtZW50KGV4cGVjdGVkVG9Q
YXNzLCBzdGF0ZW1lbnQpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAg
ICAgICAgdHguZXhlY3V0ZVNxbChzdGF0ZW1lbnQsIFtdLAotICAgICAgICAgICAgZnVuY3Rpb24o
dHgsIGRhdGEpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWV4cGVjdGVkVG9QYXNzKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGxvZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBl
Y3RlZCB0byBmYWlsLCBidXQgcGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgrK3N0YXRl
bWVudHMgPT0gVE9UQUxfU1RBVEVNRU5UUykgewotICAgICAgICAgICAgICAgICAgICBsb2coIlRl
c3QgcGFzc2VkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKGV4cGVjdGVkVG9QYXNzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxv
ZygiU3RhdGVtZW50ICIgKyBzdGF0ZW1lbnQgKyAiIHdhcyBleHBlY3RlZCB0byBwYXNzLCBidXQg
ZmFpbGVkLiIpOwotICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgrK3N0YXRlbWVudHMgPT0gVE9UQUxfU1RB
VEVNRU5UUykgewotICAgICAgICAgICAgICAgICAgICBsb2coIlRlc3QgcGFzc2VkLiIpOwotICAg
ICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7Ci0gICAgfQotCi0gICAgZGIgPSBvcGVuRGF0YWJhc2UoIkV4ZWN1dGVTUUxBY2NlcHRzT25s
eU9uZVN0YXRlbWVudFRlc3QiLCAiMS4wIiwgIiIsIDEpOwotICAgIGRiLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1Qg
RVhJU1RTIFRlc3QgKEZvbyBJTlQpIik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAg
ICAgbG9nKCJUZXN0IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICB0ZXJtaW5h
dGVUZXN0KCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQo
dHJ1ZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgxKSIpOwotICAgICAgICBleGVjdXRlU3Rh
dGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMik7Iik7Ci0gICAgICAgIGV4
ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICgzKSAgICAi
KTsKLSAgICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiICAgSU5TRVJUIElOVE8gVGVzdCBW
QUxVRVMgKDQpOyAgICIpOwotICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoNSkgICA7Iik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFs
c2UsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoNik7IGdhcmJhZ2UiKTsKLSAgICAgICAgZXhl
Y3V0ZVN0YXRlbWVudChmYWxzZSwgIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg3KTsgSU5TRVJU
IElOVE8gVGVzdCBWQUxVRVMgKDgpIik7Ci0gICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2Us
ICIgIElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg5KTsgICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVF
UyAoMTApOyAgICIpOwotICAgIH0pOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpOyI+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCBleGVjdXRlU3FsKCkgZmFp
bHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlk
IHN0YXRlbWVudCBpbiBpdC48YnI+Ci08L2JvZHk+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ZTk2NGU2Mzc1YmQzYTMxYmFiODhiNzI1
NWI4ZjU0MDcyNGNjY2VjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1DaGFuZ2luZyB0aGUgaGFzaCB0byBj
cmVhdGUgaGlzdG9yeSBlbnRyaWVzLgotRGIgaXMgd2FybWVkIHVwCi1UZXN0IENvbXBsZXRlLCBT
VUNDRVNTCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0
aC14aHIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaGFzaC1jaGFuZ2Utd2l0aC14aHIuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTg0MzIwZjBmMTljNzhjNGZjYzhjNmY4
NTQyMGJlOGNmNTZiMzM5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4gCi08aGVhZD4gCi08dGl0bGU+SGFz
aCBDaGFuZ2Ugd2l0aCBhbiBPcGVuIFhIUiBzaG91bGQgbm90IHN0b3AgZGF0YWJhc2UgdHJhbnNh
Y3Rpb25zPC90aXRsZT4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoYXNoLWNoYW5nZS13aXRoLXhoci5qcyI+PC9zY3Jp
cHQ+Ci08L2hlYWQ+IAotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKSI+IAotPHByZSBp
ZD0iY29uc29sZSI+Ci1GQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4KLTwvYm9keT4g
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdp
dGgteGhyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9oYXNoLWNoYW5nZS13aXRoLXhoci5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2Y1NmY3OTVhMTgyZTFhODFkYWZiNjQwMGVj
ODNjOGMzMGMwZDVmYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2hhc2gtY2hhbmdlLXdpdGgteGhyLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMTE4ICswLDAgQEAKLXZhciBEQl9VUERBVEVfSU5URVJWQUwgPSAxMDA7Ci12
YXIgU0VORF9YSFJfSU5URVJWQUwgPSAxMDA7Ci12YXIgQkFDS19JTlRFUlZBTCA9IDEwMDsKLXZh
ciBDUkVBVEVfSEVBTFRIX1RBQkxFID0gJ0NSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGhlYWx0
aCAoa2V5IFZBUkNIQVIoMTYpIFBSSU1BUlkgS0VZKTsnOwotdmFyIFVQREFURV9EQVRBID0gJ1JF
UExBQ0UgSU5UTyBoZWFsdGggVkFMVUVTKCJoZWFsdGgtY2hlY2sta2V5Iik7JzsKLSAKLXZhciBk
YiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoJ2J1ZzI1NzEwJywgJzEuMCcsICdMYXlvdXRUZXN0
IGZvciBidWcgMjU3MTAnLCAxMDI0MDApOwotdmFyIGJhY2tJdGVyYXRpb25zOwotdmFyIHhockZj
dEludGVydmFsSWQ7Ci12YXIgYmFja0ZjdEludGVydmFsSWQ7Ci12YXIgc3VjY2Vzc0NoZWNrSW50
ZXJ2YWxJZDsKLXZhciBkYkZjdEludGVydmFsSWQ7Ci12YXIgc3VjY2Vzc2VzOwotdmFyIGRhdGFi
YXNlVXBkYXRlczsKLXZhciBzdG9wcGVkSW50ZXJ2YWxzOwotIAotZnVuY3Rpb24gc3RvcEludGVy
dmFscygpCi17Ci0gICAgc3RvcHBlZEludGVydmFscyA9IHRydWU7Ci0gICAgY2xlYXJJbnRlcnZh
bChkYkZjdEludGVydmFsSWQpOwotICAgIGNsZWFySW50ZXJ2YWwoeGhyRmN0SW50ZXJ2YWxJZCk7
Ci0gICAgY2xlYXJJbnRlcnZhbChiYWNrRmN0SW50ZXJ2YWxJZCk7Ci19Ci0KLWZ1bmN0aW9uIHN0
b3BUZXN0KG1lc3NhZ2UpCi17Ci0gICAgaWYgKCFzdG9wcGVkSW50ZXJ2YWxzKQotICAgICAgICBz
dG9wSW50ZXJ2YWxzKCk7Ci0KLSAgICBsb2cobWVzc2FnZSk7Ci0KLSAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Ci19Ci0gICAgCi1mdW5jdGlvbiB1cGRhdGVEYXRhYmFzZSgpCi17Ci0gICAgZGF0YWJh
c2VVcGRhdGVzKys7ICAKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0cmFuc2FjdGlvbikg
ewotICAgICAgICB0cmFuc2FjdGlvbi5leGVjdXRlU3FsKFVQREFURV9EQVRBLCBbXSwgZnVuY3Rp
b24oKSB7fSwgZXJyb3JIYW5kbGVyKTsKLSAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9uKCkg
ewotICAgICAgICBzdWNjZXNzZXMrKzsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gY2hlY2tGb3JT
dWNjZXNzKCkKLXsKLSAgICBpZiAoc3VjY2Vzc2VzID09IGRhdGFiYXNlVXBkYXRlcykgewotICAg
ICAgICBzdG9wVGVzdCgnVGVzdCBDb21wbGV0ZSwgU1VDQ0VTUycpOwotICAgICAgICBjbGVhcklu
dGVydmFsKHN1Y2Nlc3NDaGVja0ludGVydmFsSWQpOwotICAgIH0KLX0KLSAKLWZ1bmN0aW9uIGVy
cm9ySGFuZGxlcih0eCwgZXJyb3IpCi17Ci0gICAgbG9nKCdEQiBlcnJvciwgY29kZTogJyArIGVy
cm9yLmNvZGUgKyAnLCBtc2c6ICcgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBzdG9wVGVzdCgnVGVz
dCBDb21wbGV0ZSwgRkFJTEVEJyk7Ci19Ci0gCi1mdW5jdGlvbiBzZW5kWGhyKCkKLXsKLSAgICB4
aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAgICB4aHIub3BlbignR0VUJywgbG9jYXRpb24u
aHJlZiwgdHJ1ZSk7Ci0gICAgeGhyLnNlbmQoJycpOwotfQotIAotZnVuY3Rpb24gaW52b2tlQmFj
aygpCi17Ci0gICAgYmFja0l0ZXJhdGlvbnMtLTsKLSAgICBpZiAoYmFja0l0ZXJhdGlvbnMpIHsK
LSAgICAgICAgaGlzdG9yeS5iYWNrKCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc3RvcEludGVy
dmFscygpOwotICAgICAgICAvLyBBbGxvdyBhIGxpdHRsZSB0aW1lIGZvciBhbGwgdGhlIGRhdGFi
YXNlIHRyYW5zYWN0aW9ucyB0byBjb21wbGV0ZSBub3cgd2UndmUgc3RvcHBlZCBtYWtpbmcgdGhl
bS4KLSAgICAgICAgc3VjY2Vzc0NoZWNrSW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGNoZWNrRm9y
U3VjY2VzcywgMjUwKTsKLSAgICAgICAgLy8gSWYgd2UgZG9uJ3QgZmluaXNoIGJlZm9yZSB0aGlz
IHRpbWUsIHRoZW4gd2UgY29uc2lkZXIgdGhlIHRlc3QgZmFpbGVkLgotICAgICAgICBzZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgeyBzdG9wVGVzdCgnVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRyYW5zYWN0
aW9ucyB0byBjb21wbGV0ZS4gRkFJTEVEJyk7IH0sIDIwMDAwKTsKLSAgICAgICAgCi0gICAgfQot
fQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICAvLyBMb2NhdGlvbiBjaGFuZ2VzIG5lZWQg
dG8gaGFwcGVuIG91dHNpZGUgdGhlIG9ubG9hZCBoYW5kbGVyIHRvIGdlbmVyYXRlIGhpc3Rvcnkg
ZW50cmllcy4KLSAgICBzZXRUaW1lb3V0KHJ1blRlc3RzSW5uZXIsIDApOwotfQotCi1mdW5jdGlv
biBydW5UZXN0c0lubmVyKCkKLXsKLSAgICBiYWNrSXRlcmF0aW9ucyA9IDEwOwotICAgIGNvbnNl
Y3V0aXZlRmFpbHVyZXMgPSAwOwotICAgIHN1Y2Nlc3NlcyA9IDA7Ci0gICAgZGF0YWJhc2VVcGRh
dGVzID0gMDsKLSAgICBzdG9wcGVkSW50ZXJ2YWxzID0gZmFsc2U7Ci0KLSAgICAvLyBDcmVhdGUg
c29tZSBoYXNoZXMgc28gd2UgY2FuIGNhbGwgaGlzdG9yeS5iYWNrKCkuCi0gICAgbG9nKCdDaGFu
Z2luZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVzLicpOwotICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgYmFja0l0ZXJhdGlvbnM7IGkrKykgewotICAgICAgICBzZXRMb2NhdGlvbkhh
c2goaSk7Ci0gICAgfQotCi0gICAgLy8gSW5pdCB0aGUgZGF0YWJhc2UuCi0gICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHJhbnNhY3Rpb24pIHsKLSAgICAgICAgdHJhbnNhY3Rpb24uZXhlY3V0
ZVNxbChDUkVBVEVfSEVBTFRIX1RBQkxFLCBbXSwgZnVuY3Rpb24oKSB7fSwgZXJyb3JIYW5kbGVy
KTsKLSAgICB9LCBlcnJvckhhbmRsZXIsIGZ1bmN0aW9uKCkgewotICAgICAgICAvLyBHaXZlIGEg
bGl0dGxlIGZvciB0aGUgZGF0YWJhc2UgdG8gJ3dhcm0gdXAnIGJlZm9yZSBtYWtpbmcgeGhyIHJl
cXVlc3RzCi0gICAgICAgIC8vIGFuZCBjYWxsaW5nIGhpc3RvcnkuYmFjaygpLgotICAgICAgICBz
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgbG9nKCdEYiBpcyB3YXJtZWQgdXAn
KTsKLQotICAgICAgICAgICAgLy8gTk9URTogSWYgd2UgZG9uJ3QgbWFrZSBhbnkgeGhyIHJlcXVl
c3RzLCB0aGVuIHRoZSB0ZXN0Ci0gICAgICAgICAgICAvLyBzdWNjZXNzZnVsbHkgcGFzc2VzIChj
b21tZW50IHRoaXMgbGluZSBvdXQpLgotICAgICAgICAgICAgeGhyRmN0SW50ZXJ2YWxJZCA9IHNl
dEludGVydmFsKHNlbmRYaHIsIFNFTkRfWEhSX0lOVEVSVkFMKTsKLSAgICAgICAgICAgIGJhY2tG
Y3RJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoaW52b2tlQmFjaywgQkFDS19JTlRFUlZBTCk7Ci0g
ICAgICAgICAgICBkYkZjdEludGVydmFsSWQgPSBzZXRJbnRlcnZhbCh1cGRhdGVEYXRhYmFzZSwg
REJfVVBEQVRFX0lOVEVSVkFMKTsKLSAgICAgICAgfSwgNTAwKTsKLSAgICB9KTsKLX0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29s
bGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFi
YXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkMDE1MTRhNmFlZmIzNjI4ZWIwMDM2NGNiMjYyNGMyMGUwZTg5MDA0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLVRoaXMgdGVzdCBvcGVucyB0d28gZGF0YWJh
c2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3BlcmF0aW9ucyBvbiBib3RoLCB0aGVuICJmb3Jn
ZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0ZXIgZm9yY2luZyBHQywgcmVzb3VyY2VzIGFzc29j
aWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBncmFjZWZ1bGx5LgotRm9y
Z290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCi1QZXJzaXN0ZW50IERhdGFiYXNl
IFRyYW5zYWN0aW9uIENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
bXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0NTFhY2ZiYjk5YTQzOWRkODI0NzZjMTk5NDkxNjY4
NmE5YTZmMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9u
Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Im11bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMiPjwvc2NyaXB0
PgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IG9wZW5zIHR3
byBkYXRhYmFzZXMsIHF1ZXVlcyB1cCBhIHNlcmllcyBvZiBvcGVyYXRpb25zIG9uIGJvdGgsIHRo
ZW4gImZvcmdldHMiIGFib3V0IG9uZSBvZiB0aGVtLgotQWZ0ZXIgZm9yY2luZyBHQywgcmVzb3Vy
Y2VzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3VsZCBiZSBmcmVlZCBncmFjZWZ1
bGx5Ljxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPiAKLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4K
LTwvcHJlPiAKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWEyYjI3ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZlZjY0
NDIwZDg2Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24u
anMKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi1mdW5jdGlvbiBHQygpCi17Ci0gICAg
Ly8gRm9yY2UgR0MuCi0gICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCi0gICAgICAgIEdDQ29u
dHJvbGxlci5jb2xsZWN0KCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgMTAwMDA7ICsraSkgewotICAgICAgICAgICAgKHsgfSk7Ci0gICAgICAgIH0KLSAgICB9Ci19
Ci0KLS8vIFZhcmlhYmxlIGZvciB0aGUgZGF0YWJhc2UgdGhhdCB3aWxsIG5ldmVyIGJlIGZvcmdv
dHRlbgotdmFyIHBlcnNpc3RlbnREQiA9IDA7Ci0vLyBWYXJpYWJsZSBmb3IgdGhlIGZvcmdvdHRl
biBkYXRhYmFzZQotdmFyIGZvcmdvdHRlbkRCID0gMDsKLQotdmFyIGNvbXBsZXRlZCA9IDA7Ci1m
dW5jdGlvbiBjaGVja0NvbXBsZXRpb24oKQotewotICAgIGlmICgrK2NvbXBsZXRlZCA9PSAyICYm
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBwZXJzaXN0
ZW50REIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJNdWx0aXBsZURhdGFiYXNlc1Rlc3QxIiwg
IjEuMCIsICJUZXN0IG9uZSBvdXQgb2YgYSBzZXQgb2YgZGF0YWJhc2VzIGJlaW5nIGRlc3Ryb3ll
ZCAoMSkiLCAzMjc2OCk7Ci0gICAgZm9yZ290dGVuREIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4
KCJNdWx0aXBsZURhdGFiYXNlc1Rlc3QyIiwgIjEuMCIsICJUZXN0IG9uZSBvdXQgb2YgYSBzZXQg
b2YgZGF0YWJhc2VzIGJlaW5nIGRlc3Ryb3llZCAoMikiLCAzMjc2OCk7Ci0KLSAgICBwZXJzaXN0
ZW50REIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgi
Q1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRGF0YVRlc3QgKHJhbmRvbURhdGEpIiwgW10sIGZ1
bmN0aW9uKHR4LCByZXN1bHQpIHsgCi0gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI1
OyArK2kpCi0gICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRl
c3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoMSkiLCBbXSk7Ci0gICAgICAgIH0pOyAKLSAgICB9LCBm
dW5jdGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0
aW9uIEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAg
fSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBUcmFuc2Fj
dGlvbiBDb21wbGV0ZSIpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsKLQot
ICAgIGZvcmdvdHRlbkRCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4
ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEVtcHR5VGFibGUgKHVuaW1wb3J0
YW50RGF0YSkiLCBbXSk7Ci0gICAgfSwgZnVuY3Rpb24oZXJyKSB7Ci0gICAgICAgIGxvZygiRm9y
Z290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIEVycm9yZWQgLSAiICsgZXJyKTsKLSAgICAgICAg
Zm9yZ290dGVuREIgPSAwOwotICAgICAgICBHQygpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24o
KTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgbG9nKCJGb3Jnb3R0ZW4gRGF0YWJhc2Ug
VHJhbnNhY3Rpb24gQ29tcGxldGUiKTsKLSAgICAgICAgZm9yZ290dGVuREIgPSAwOwotICAgICAg
ICBHQygpOwotICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKLSAgICB9KTsKLX0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5YzBmNmU5NWJhZmI4ZjU3ODMzNjA5
NjE2ZWY1MmM3MDg5NjEyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLVRoaXMgaXMgYSB0ZXN0IHRvIHNl
ZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgdG8gYmUg
cXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6Ci1UcmFuc2FjdGlvbiAxIFN0YXJ0
ZWQKLVRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCi1UcmFuc2FjdGlvbiAyIFN0YXJ0ZWQKLVRyYW5z
YWN0aW9uIDIgU3VjY2VlZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5k
bGVzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE2YTJkMTdj
YTA2ODcxNzU5MDFiM2ViYmUwN2NjNjJmOGYyZDZlMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5z
YWN0aW9ucy1vbi1kaWZmZXJlbnQtaGFuZGxlcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw4ICswLDAgQEAKLVRoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiBxdWV1ZWluZyB1cCBtdWx0
aXBsZSB0cmFuc2FjdGlvbnMgb24gZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJh
c2UgcmVzdWx0cyBpbiBhIGRlYWRsb2NrLgotZGIxIHJlYWQgc3RhdGVtZW50IHN1Y2NlZWRlZAot
ZGIxIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQK
LWRiMiByZWFkIHN0YXRlbWVudCBzdWNjZWVkZWQKLWRiMiB3cml0ZSBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkCi1kYjIgdHJhbnNhY3Rpb24gc3VjY2VlZGVkCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJlbnQt
aGFuZGxlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTE4YzMyMmMxNWEz
NmI0MWIxNDMwNzMyM2U2Mzk2MGFkZTE2MGMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCww
IEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21t
b24uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1k
aWZmZXJlbnQtaGFuZGxlcy5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNl
dHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIGlzIGEgdGVzdCB0byBzZWUgaWYgcXVldWVpbmcgdXAg
bXVsdGlwbGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRh
dGFiYXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay48YnI+Ci08cHJlIGlkPSJjb25zb2xlIj4gCi1G
QUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCi08L3ByZT4gCi08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZm
ZXJlbnQtaGFuZGxlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rp
b25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA5YWI0YjkzZWY4M2E3NmM3ZTRjOTI0ODFkZmZmMGU1MTc3ZjRhYzFkLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsNzggKzAsMCBAQAotdmFyIGNvbXBsZXRlID0gMDsKLQotZnVuY3Rpb24gY2hlY2tDb21w
bGV0aW9uKCkKLXsKLSAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5kIGFmdGVyIHR3byB0cmFuc2Fj
dGlvbnMKLSAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi0v
LyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2FzZQotZnVuY3Rpb24gb3Bl
blRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIk11
bHRpcGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVzdCIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcgbXVsdGlwbGUgdHJhbnNhY3Rp
b25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJlc3VsdCBpbiBhIGRlYWRsb2Nr
LiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3NjgpOwotfQotCi1mdW5j
dGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBzdGF0ZW1lbnRUeXBlKQotewot
ICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2Vl
ZGVkIik7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2soZGJOYW1lLCBzdGF0
ZW1lbnRUeXBlLCBlcnJvcikKLXsKLSAgICBsb2coZGJOYW1lICsgIiAiICsgc3RhdGVtZW50VHlw
ZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotfQotCi0vLyBSdW5z
IGEgdHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCi1mdW5jdGlvbiBydW5UcmFuc2Fj
dGlvbihkYiwgZGJOYW1lLCB2YWwpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRlbWVudAotICAgICAgIHR4LmV4
ZWN1dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgW10sCi0gICAgICAgICAgICAg
ICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrKGRiTmFt
ZSwgInJlYWQiKTsgfSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikg
eyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQiLCBlcnJvcik7IH0pOwotCi0g
ICAgICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBtYWtlIHN1cmUgU1FMaXRlIHRy
aWVzIHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhlIERCIGZpbGUKLSAgICAgICB0
eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPyk7IiwgW3ZhbF0sCi0gICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vzc0NhbGxi
YWNrKGRiTmFtZSwgIndyaXRlIik7IH0sCi0gICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0
eCwgZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUsICJ3cml0ZSIsIGVycm9y
KTsgfSk7Ci0gICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgLy8gVHJhbnNh
Y3Rpb24gZmFpbHVyZSBjYWxsYmFjawotICAgICAgICAgICBsb2coZGJOYW1lICsgIiB0cmFuc2Fj
dGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICAgICAgICAgY2hlY2tDb21wbGV0
aW9uKCk7Ci0gICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgIC8vIFRyYW5zYWN0aW9u
IHN1Y2Nlc3MgY2FsbGJhY2sKLSAgICAgICAgICAgbG9nKGRiTmFtZSArICIgdHJhbnNhY3Rpb24g
c3VjY2VlZGVkIik7Ci0gICAgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgICAgIH0pOwot
fQotCi0vLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBUZXN0IHRhYmxlIGV4aXN0cyBi
ZWZvcmUgd2UgcnVuIG91ciB0ZXN0LgotLy8gVGhlcmVmb3JlLCB0aGUgdGVzdCBjb2RlIGlzIGlu
IHRoZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9uIHRoYXQgY3JlYXRlcyB0aGUg
dGFibGUuCi1mdW5jdGlvbiBydW5UZXN0KCkgewotICAgIHRyeSB7Ci0gICAgICAgIHZhciBkYiA9
IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5vdCBl
eGlzdAotICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElT
VFMgVGVzdCAoRm9vIGludCk7IiwgW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOwotICAgICAgICAgICAgfSwg
ZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW5nIHRoZSBUZXN0
IHRhYmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgfSwgZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFibGUgd2FzIGNyZWF0ZWQgc3Vj
Y2Vzc2Z1bGx5Ci0gICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2UoKTsK
LSAgICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgICAgICAg
ICAgICAgIGlmIChkYjEgPT0gZGIyKQotICAgICAgICAgICAgICAgICAgICBsb2coImZhaWx1cmU6
IGRiMSA9PSBkYjIiKTsKLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgcnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7Ci0gICAgICAgICAgICAgICAgICAgIHJ1
blRyYW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIH0pOwotICAgIH0gY2F0Y2goZXJyKSB7fQotfQotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAzNTk3NDQwMTM5NmVmZGM4NzUzYTYwZmIzZTk0ODEyNDI4NTAzNGNkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
bXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBA
Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24u
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Im11bHRpcGxlLXRyYW5zYWN0aW9ucy5qcyI+PC9z
Y3JpcHQ+Ci08aGVhZD4KLTxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KLVRoaXMg
aXMgYSB0ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBsZSB0cmFu
c2FjdGlvbnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6PGJyPgot
PHByZSBpZD0iY29uc29sZSI+IAotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+IAot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9tdWx0aXBs
ZS10cmFuc2FjdGlvbnMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0
aW9ucy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVjZGFiY2RiZGQ2NGMzYjRh
MWRkNjNmMzUzMTU4Njk2MmNhZDYxOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL211bHRpcGxlLXRyYW5zYWN0aW9ucy5q
cworKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLXZhciBjb21wbGV0ZSA9IDA7Ci0KLWZ1
bmN0aW9uIGNoZWNrQ29tcGxldGlvbigpCi17Ci0gICAgaWYgKCsrY29tcGxldGUgPT0gMiAmJiB3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGRiID0g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVUcmFuc2FjdGlvbnNUZXN0IiwgIjEuMCIs
ICJUZXN0IHRvIG1ha2Ugc3VyZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnMgY2FuIGJlIHF1ZXVlZCBh
dCBvbmNlIGZvciBhbiBIVE1MNSBkYXRhYmFzZSIsIDMyNzY4KTsKLQotICAgIGRiLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBTdGFydGVkIik7
Ci0gICAgfSwgZnVuY3Rpb24oZXJyKSB7Ci0gICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMSBFcnJv
cmVkIC0gIiArIGVycik7Ci0gICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0sIGZ1bmN0
aW9uKCkgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3VjY2VlZGVkIik7Ci0gICAgICAg
IGNoZWNrQ29tcGxldGlvbigpOwotICAgIH0pOwotCi0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIFN0YXJ0ZWQiKTsKLSAgICB9LCBm
dW5jdGlvbihlcnIpIHsKLSAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAyIEVycm9yZWQgLSAiICsg
ZXJyKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdWNjZWVkZWQiKTsKLSAgICAgICAgY2hlY2tDb21w
bGV0aW9uKCk7Ci0gICAgfSk7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL251
bGwtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxs
YmFja3MtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzExNjc1
MTA2ZDgxNjk5MTExNGFkOTFjNjYzODBjMjdjMzdkM2E2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFj
a3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3Qg
Y2hlY2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVjdCBhbiBvcHRp
b25hbCBjYWxsYmFjay4KLVBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVs
bC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvbnVsbC1jYWxsYmFja3MuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNhMGUxYzNmZmJjZDMzNjYxMGRmYTM3
YTU4NzY5ZjAyYzQ4Njk2ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL251bGwtY2FsbGJhY2tzLmh0bWwKKysrIC9kZXYv
bnVsbApAQCAtMSw0NiArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9u
IGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24g
cnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIg
ZGIgPSBvcGVuRGF0YWJhc2UoIk51bGxDYWxsYmFja3MiLCAiMS4wIiwgIlRlc3QgZm9yIG51bGwg
Y2FsbGJhY2tzLiIsIDEpOwotICAgICAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewot
ICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVz
dCAoRm9vIElOVCkiLCBudWxsKTsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJ
TlRPIFRlc3QgVkFMVUVTICg/KSIsIFsxXSwgbnVsbCwgbnVsbCk7Ci0gICAgICAgICAgICB0eC5l
eGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPykiLCBbMl0sIG51bGwpOwotICAg
ICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDMpIiwgbnVs
bCwgbnVsbCwgbnVsbCk7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBU
ZXN0IFZBTFVFUyAoPykiLCBbNF0sIG51bGwsCi0gICAgICAgICAgICAgICAgZnVuY3Rpb24odHgs
IGVycm9yKSB7fSk7Ci0gICAgICAgIH0sIG51bGwsIG51bGwpOwotCi0gICAgICAgIGRiLnRyYW5z
YWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoPykiLCBbNV0pOwotICAgICAgICB9LCBudWxsLCBmdW5jdGlvbigp
IHsgZmluaXNoVGVzdCgpOyB9KTsKLSAgICB9IGNhdGNoKGVycikgewotICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCA9ICJGQUlMIjsKLSAgICAgICAg
ZmluaXNoVGVzdCgpOwotICAgIH0KLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KLVRoaXMgdGVzdCBjaGVja3MgdGhhdCAnbnVsbCcgY2FuIGJlIHVz
ZWQgd2hlcmV2ZXIgd2UgZXhwZWN0IGFuIG9wdGlvbmFsIGNhbGxiYWNrLgotPHByZSBpZD0iY29u
c29sZSI+UEFTUzwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjJmM2ZjYjZiYWRkYTEz
MDUxNTI4OTZlNDhhMmExMDUzM2QyY2IxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRp
b24tY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IHVuYWJsZSB0byBvcGVuIGRhdGFiYXNlLCB2ZXJzaW9uIG1pc21hdGNo
LCAnMS4wJyBkb2VzIG5vdCBtYXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKLVRoaXMgdGVz
dCB0ZXN0cyBvcGVuRGF0YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFi
YXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE5NmE2NzU0ZDhkZjU3NDAwY2U0NmM5ZGNjYTIzZTVj
NDI3NTg0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1BTEVS
VDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBh
IGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRo
ZSBvcGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0
IHdvcmxkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Ut
Y3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5OGE0NjY0YmUyMGZmZmM1YmQ4OTk5ZWY0NDg3
YmZhYjBlZjVjYjQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1p
c29sYXRlZC13b3JsZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxib2R5PgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIG9wZW5E
YXRhYmFzZSgpIGNyZWF0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQ+Ci12YXIgY3JlYXRpb25DYWxsYmFj
a3NFeGVjdXRlZCA9IDA7Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrY3JlYXRpb25D
YWxsYmFja3NFeGVjdXRlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlv
biBjcmVhdGlvbkNhbGxiYWNrMShkYikKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBp
c29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0aW9uQ2Fs
bGJhY2syKGRiKQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKLSAgICBkb25lKCk7
Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2li
bGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3Vt
ZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQu
IjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
LSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgK
LSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKVxuIiAr
Ci0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7
XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztc
biIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdP
cGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZCcsICcxLjAnLCAnJywgMSwg
Y3JlYXRpb25DYWxsYmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnT3Bl
bkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxLCBj
cmVhdGlvbkNhbGxiYWNrMik7Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFj
ay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxi
YWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4MTY0NWM0NWVlNzRkNGI2
MWFhMDE5ODAzNGE5NGE4ZDRhN2UzNTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9u
LWNhbGxiYWNrLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5MSArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19
Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0K
LQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygp
OwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDMyNzY4KTsK
LSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcERhdGFiYXNlQ2FsbGJhY2tzKCk7Ci0g
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIHZhciB0cmFuc2Fj
dGlvbnNSdW4gPSAwOwotCi0gICAgLy8gT3BlbiBhIG5ldyBkYXRhYmFzZSB3aXRoIGEgY3JlYXRp
b24gY2FsbGJhY2ssIGFuZCBtYWtlIHN1cmUgdGhlIGNyZWF0aW9uIGNhbGxiYWNrIGlzIHF1ZXVl
ZAotICAgIHZhciBjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSA9IGZhbHNlOwotICAgIHZhciBkYjFO
YW1lID0gIk9wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2sxIiArIChuZXcgRGF0ZSgpKS5nZXRU
aW1lKCk7Ci0gICAgdmFyIGRiMSA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihkYikgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQxID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGIudmVyc2lvbiAhPSAiIikgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkNyZWF0aW9uIGNhbGxiYWNrIHdhcyBj
YWxsZWQgd2l0aCBhIGRhdGFiYXNlIHdpdGggdmVyc2lvbiAiICsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRiLnZlcnNpb24gKyAiOyBlbXB0eSBzdHJpbmcgZXhwZWN0
ZWQuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICB9KTsKLQotICAgIC8vIFB1dHRpbmcgdGhpcyBjb2RlIGluc2lkZSBhIHRyYW5zYWN0aW9u
IG9uICdkYjEnIG1ha2VzIHN1cmUgdGhhdCBpdCBpcyBleGVjdXRlZCBhZnRlcgotICAgIC8vIHRo
ZSBjcmVhdGlvbiBjYWxsYmFjayBpcy4KLSAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAgaWYgKCFjcmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSkgewotICAgICAgICAgICAg
bG9nKCJDcmVhdGlvbiBjYWxsYmFjayBmb3IgZGIxIHdhcyBub3QgY2FsbGVkLiIpOwotICAgICAg
ICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlmICgrK3RyYW5zYWN0aW9u
c1J1biA9PSAyKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwotCi0gICAgLy8g
VHJ5IHRvIG9wZW4gYW5vdGhlciBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UuCi0gICAgLy8g
U2luY2UgdGhlIHZlcnNpb24gb2YgdGhpcyBkYXRhYmFzZSBpcyAiIiAoZW1wdHkgc3RyaW5nKSwg
b3BlbkRhdGFiYXNlKCkgc2hvdWxkIHJldHVybgotICAgIC8vIGEgbnVsbCBoYW5kbGUgYW5kIHRo
cm93IGEgSU5WQUxJRF9TVEFURV9FUlIgZXhjZXB0aW9uLgotICAgIHZhciBkYjFGYWlsID0gbnVs
bDsKLSAgICB0cnkgewotICAgICAgICBkYjFGYWlsID0gb3BlbkRhdGFiYXNlKGRiMU5hbWUsICIx
LjAiLCAiIiwgMSk7Ci0gICAgICAgIGxvZygiVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBoYXZl
IGJlZW4gZXhlY3V0ZWQ7IGFuIElOVkFMSURfU1RBVEVfRVJSIGV4Y2VwdGlvbiBzaG91bGQndmUg
YmVlbiB0aHJvd24uIik7Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGNhdGNoKGVycikg
ewotICAgICAgICBpZiAoZGIxRmFpbCkgewotICAgICAgICAgICAgbG9nKCJkYjFGYWlsIHNob3Vs
ZCBoYXZlIGJlZW4gbnVsbC4iKTsKLSAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIC8vIE9wZW4gYSBoYW5kbGUgdG8gYW5vdGhlciBkYXRhYmFzZSwgZmly
c3Qgd2l0aG91dCBhIGNyZWF0aW9uIGNhbGxiYWNrLCB0aGVuIHdpdGggb25lLgotICAgIC8vIE1h
a2Ugc3VyZSB0aGUgY3JlYXRpb24gY2FsbGJhY2sgaXMgbm90IGNhbGxlZC4KLSAgICB2YXIgY3Jl
YXRpb25DYWxsYmFja0NhbGxlZDIgPSBmYWxzZTsKLSAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNl
KCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAiIiwgMSk7Ci0gICAgZGIy
ID0gb3BlbkRhdGFiYXNlKCJPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrMiIsICIxLjAiLCAi
IiwgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oZGIpIHsgY3JlYXRpb25DYWxs
YmFja0NhbGxlZDIgPSB0cnVlOyB9KTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKLSAgICAgICAgaWYgKGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyKSB7Ci0gICAgICAgICAgICBs
b2coIkNyZWF0aW9uIGNhbGxiYWNrIGZvciBkYjIgc2hvdWxkIG5vdCBoYXZlIGJlZW4gY2FsbGVk
LiIpOwotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgICAgICB9Ci0gICAgICAgIGlmICgr
K3RyYW5zYWN0aW9uc1J1biA9PSAyKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0p
OwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
VGhpcyB0ZXN0IHRlc3RzIG9wZW5EYXRhYmFzZSgpJ3MgY3JlYXRpb24gY2FsbGJhY2suCi08cHJl
IGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyZTJmZmMzMGQ0YTQ2NWJk
ZGViYzk5YmYwMzY3OTU5OWVmOThmZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLWVtcHR5LXZl
cnNpb24tZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRl
c3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmlu
ZyBkb2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgotU1VDQ0VTUyEgRGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9v
cGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNDYwNDExMzgzZjE4Y2Y4MGM5YzRhZDgzOGY3MTU0OWI2OWM2Njc2Yy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjIg
KzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBydW5UZXN0KCkgewot
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAotICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgCi0gICAgdHJ5IHsgICAgCi0gICAgICAgIHZh
ciBkYiA9IG9wZW5EYXRhYmFzZSgnNTU2MjQ3MFRlc3QnLCAnJywgJ1Rlc3QgZm9yIDxyZGFyOi8v
cHJvYmxlbS81NTYyNDcwPiBvcGVuRGF0YWJhc2UgZG9lcyBub3Qgd29yayB3aGVuIHRoZSB2ZXJz
aW9uIHN0cmluZyBpcyBlbXB0eScsIDEpOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdGQUlMVVJFJwotICAg
IH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPGRp
dj5UaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJz
aW9uIHN0cmluZyBkb2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgotPGRp
diBpZD0icmVzdWx0Ij4KLVNVQ0NFU1MhIERpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uLgotPC9k
aXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL29w
ZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFhZThkYjZiMzcuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251
bGwKQEAgLTEsMiArMCwwIEBACi1UaGlzIHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ug
d2l0aCBhIHNpemUgb3ZlciA1TUIgZG9lc24ndCBhc3NlcnQgb24gZGVidWcgYnVpbGRzLgotUEFT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVv
dGEuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhOTI2NGRlMzNkZjExNzQ0OWI0YzNl
NTNhNjdjZmVmOTY0NDFiZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0
PgotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICB9Ci0KLSAg
ICB0cnkgewotICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4nLCAn
JywgJ1Rlc3QgZm9yIGJ1ZyAzNjQ3MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNyZWF0
aW5nRGF0YWJhc2UnLCAxMDAwMDAwMCk7Ci0gICAgfSBjYXRjaCAoZXJyKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKLSAgICB9
Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxkaXY+
VGhpcyB0ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1C
IGRvZXNuJ3QgYXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KLTxkaXYgaWQ9InJlc3VsdCI+Ci1GQUlM
OiBXZSBzaG91bGRuJ3QgaGF2ZSBiZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCi08L2Rp
dj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Bl
bi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMWQ5OTYwMzQ0Y2Y1MDg0MmY3ZmU5NThlZTdjNmRl
Mjc2NGIyZGY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTog
dW5hYmxlIHRvIG9wZW4gZGF0YWJhc2UsIHZlcnNpb24gbWlzbWF0Y2gsICd0ZXN0JyBkb2VzIG5v
dCBtYXRjaCB0aGUgY3VycmVudFZlcnNpb24gb2YgJycKLVRoaXMgdGVzdHMgdGhhdCBjYWxsaW5n
IG9wZW5EYXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIHNldHMgdGhlIGN1cnJl
bnQgdmVyc2lvbiBvZiB0aGF0IGRhdGFiYXNlIHRvIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1YnNl
cXVlbnQgYXR0ZW1wdHMgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBleHBl
Y3RlZCB2ZXJzaW9uIHRocm93IGFuIGV4Y2VwdGlvbi4KLVNVQ0NFU1MsIGFuIGV4Y2VwdGlvbiB3
YXMgdGhyb3duLiBFcnJvcjogSU5WQUxJRF9TVEFURV9FUlI6IERPTSBFeGNlcHRpb24gMTEKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVy
c2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12
ZXJzaW9uLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYzNjA3ZmQxOWM5ZDc4
NTFkMmEwZWZhNDNlMzUwNDBhYzk5ZWRmNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXNldC1l
bXB0eS12ZXJzaW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7Ci0gICAgfQotICAgIAotICAgIHRyeSB7ICAgIAotICAgICAgICB2YXIgZGIgPSBvcGVuRGF0
YWJhc2UoJzI4NDE3VGVzdCcsICcnLCAnVGVzdCBmb3IgYnVnIDI4NDE3OiBvcGVuRGF0YWJhc2Uo
KSB3aXRoIGVtcHR5IHZlcnNpb24gc2V0cyBkYiB2ZXJzaW9uIHVwIGluY29ycmVjdGx5JywgMCk7
Ci0gICAgICAgIC8vIFRoZSBuZXh0IG9wZW5EYXRhYmFzZSBjYWxsIHNob3VsZCBmYWlsIGJlY2F1
c2UgdGhlIGRhdGFiYXNlIHZlcnNpb24gd2FzIHNldCB0byAnJyBieSB0aGUgY2FsbCBhYm92ZSwg
YW5kIG5vdyB3ZSBhcmUgZXhwZWN0aW5nIGEgZGlmZmVyZW50IHZlcnNpb24uCi0gICAgICAgIHZh
ciBkYjIgPSBvcGVuRGF0YWJhc2UoJzI4NDE3VGVzdCcsICd0ZXN0JywgJ1Rlc3QgZm9yIGJ1ZyAy
ODQxNzogb3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVyc2lvbiB1
cCBpbmNvcnJlY3RseScsIDApOwotICAgIH0gY2F0Y2ggKGUpIHsKLSAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVySFRNTCA9ICdTVUNDRVNTLCBhbiBleGNlcHRp
b24gd2FzIHRocm93bi4gJyArIGU7Ci0gICAgfQotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5E
YXRhYmFzZSB3aXRoIGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIHNldHMgdGhlIGN1cnJlbnQgdmVy
c2lvbiBvZiB0aGF0IGRhdGFiYXNlIHRvIHRoZSBlbXB0eSBzdHJpbmcgYW5kIHN1YnNlcXVlbnQg
YXR0ZW1wdHMgdG8gb3BlbiB0aGUgZGF0YWJhc2Ugd2l0aCBhIGRpZmZlcmVudCBleHBlY3RlZCB2
ZXJzaW9uIHRocm93IGFuIGV4Y2VwdGlvbi48L2Rpdj4KLTxkaXYgaWQ9InJlc3VsdCI+Ci1GQUlM
VVJFIC0gYW4gZXhjZXB0aW9uIHdhcyBleHBlY3RlZC4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRy
YW5zYWN0aW9uLWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
b3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjYWM4YWZjZWJlMTFkNjEwN2VlOGQ4ZTc2
ODQxYjM1NmFiZTAzNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9u
LWluLXByb2dyZXNzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAot
VGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5z
YWN0aW9uIGlzIHJ1bm5pbmcgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFi
YXNlIHJlc3VsdHMgaW4gYSBkZWFkbG9jay4KLW9wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4KLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5z
YWN0aW9uLWluLXByb2dyZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJh
c2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNzA3YTFhNDVjOWMyMzQ5NTRiZTJlMDA5N2U5MDc5YjY1NDc3MWNjMC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
b3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+Ci1UaGlzIGlzIGEg
dGVzdCB0byBzZWUgaWYgb3BlbmluZyBhIGRhdGFiYXNlIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMg
cnVubmluZyBvbiBhIGRpZmZlcmVudCBoYW5kbGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcmVzdWx0
cyBpbiBhIGRlYWRsb2NrLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVzdCBk
aWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3Mu
anMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3MuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMWEwYzAxNGUy
MzY1OTBlNzY0NDBhN2E0N2EwNGQwMTY0Y2EzYzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdo
aWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAs
MCBAQAotLy8gT3BlbnMgdGhlIGRhdGFiYXNlIHVzZWQgaW4gdGhpcyB0ZXN0IGNhc2UKLWZ1bmN0
aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQotewotICAgIHJldHVybiBvcGVuRGF0YWJhc2VXaXRoU3Vm
Zml4KCJPcGVuRGF0YWJhc2VXaGlsZVRyYW5zYWN0aW9uSW5Qcm9ncmVzc1Rlc3QiLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNl
KCkgd2hpbGUgYSB0cmFuc2FjdGlvbiBpcyBpbiBwcm9ncmVzcyBvbiBhIGRpZmZlcmVudCBoYW5k
bGUgdG8gdGhlIHNhbWUgZGF0YWJhc2UgZG9lcyBub3QgcmVzdWx0IGluIGEgZGVhZGxvY2suIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMTAwMDAwKTsgLy8gMk1CICsgZXBz
aWxvbgotfQotCi0vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI4MjA3Ci0vLyBJbiBvcmRlciB0byB0cmlnZ2VyIHRoaXMgYnVnLCB0aGUgdHJhbnNhY3Rpb24g
bXVzdCBhY3F1aXJlIGFuIGV4Y2x1c2l2ZQotLy8gbG9jayBvbiB0aGUgREIgZmlsZSBiZWZvcmUg
dHJ5aW5nIHRvIG9idGFpbiBhIHNlY29uZCBoYW5kbGUgdG8gdGhlIHNhbWUgREIuCi0vLyBUaGUg
b25seSB3YXkgdG8gZm9yY2UgU1FMaXRlIHRvIG9idGFpbiBhbiBleGNsdXNpdmUgbG9jayBpcyB0
byBjaGFuZ2UgbW9yZQotLy8gdGhhbiBjYWNoZV9zaXplICogcGFnZV9zaXplIGJ5dGVzIGluIHRo
ZSBkYXRhYmFzZS4gVGhlIGRlZmF1bHQgdmFsdWUgZm9yCi0vLyBjYWNoZV9zaXplIGlzIDIwMDAg
cGFnZXMsIGFuZCB0aGUgZGVmYXVsdCBwYWdlX3NpemUgaXMgMTAyNCBieXRlcy4gU28gdGhlCi0v
LyBzaXplIG9mIHRoZSBibG9iIG11c3QgYmUgYXQgbGVhc3QgMk1CLgotZnVuY3Rpb24gcnVuVGVz
dCgpCi17Ci0gICAgdmFyIGRiMSA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICBkYjEudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgLy8gQ3JlYXRlIHRoZSBUZXN0IHRhYmxlIGlm
IGl0IGRvZXMgbm90IGV4aXN0Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJ
RiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBCTE9CKTsiKTsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgi
SU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKFpFUk9CTE9CKDIwOTcxNTIpKTsiLCBbXSwKLSAgICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgbG9nKCJvcGVuRGF0YWJhc2UoKSBzdWNjZWVkZWQuIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgbG9nKCJFeGVjdXRpbmcgc3RhdGVtZW50IGZhaWxlZDog
IiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAg
IC8vIENsZWFuIHVwIHRoZSBEQiB0byBhbGxvdyBmb3IgcmVwZWF0ZWQgcnVucyBvZiB0aGlzIHRl
c3QKLSAgICAgICAgLy8gd2l0aG91dCBuZWVkaW5nIHRvIGluY3JlYXNlIHRoZSBkZWZhdWx0IGFs
bG93ZWQgcXVvdGEgKDVNQikKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiREVMRVRFIEZST00gVGVz
dDsiKTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikgewotICAgICAgICBsb2coIlRyYW5zYWN0aW9u
IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxZjY3ZDJmYWM0ZjI2
ZTZmMmQ3MjgwMDY4ODBkMmY1ZmY1MzI5MDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5v
cmVhZC1ub3dyaXRlLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAK
LVRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFz
ZSBkdXJpbmcgcHJpdmF0ZSBicm93c2luZyBmYWlsLgotU2V0dXAgc3RhdGVtZW50IDEgY29tcGxl
dGVkIHN1Y2Nlc3NmdWxseQotU2V0dXAgc3RhdGVtZW50IDIgY29tcGxldGVkIHN1Y2Nlc3NmdWxs
eQotUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgot
Y291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotUHJpdmF0ZSBi
cm93c2luZyBzdGF0ZW1lbnQgMiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgotY291bGQgbm90IHBy
ZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVByaXZhdGUgYnJvd3Npbmcgc3Rh
dGVtZW50IDMgY29tcGxldGVkIHdpdGggYW4gZXJyb3IKLWNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1Qcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA0IGNv
bXBsZXRlZCB3aXRoIGFuIGVycm9yCi1jb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5v
dCBhdXRob3JpemVkKQotUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgNSBjb21wbGV0ZWQgd2l0
aCBhbiBlcnJvcgotY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBhY2Nlc3MgdG8gUHJp
dmF0ZVRlc3QxLnJhbmRvbURhdGEgaXMgcHJvaGliaXRlZCkKLVRlc3QgZW5kZWQKLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9wcml2YXRlLWJyb3dzaW5nLW5vcmVhZC1ub3dyaXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5vd3Jp
dGUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjliNTg4MmI0ZGUxYzU2MjA2
NGM1ZTg0NzcwMTA2OTc5YTAxZmMxNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFk
LW5vd3JpdGUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi08aHRtbD4KLTxo
ZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsK
LSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNz
YWdlICsgIlxuIjsKLX0KLQotdmFyIHNldHVwU3RhdGVtZW50cyA9IFsKLSAgICAiQ1JFQVRFIFRB
QkxFIElGIE5PVCBFWElTVFMgUHJpdmF0ZVRlc3QxIChyYW5kb21EYXRhKSIsCi0gICAgIklOU0VS
VCBJTlRPIFByaXZhdGVUZXN0MSBWQUxVRVMgKCdzb21lZGF0YScpIgotXTsKLQotdmFyIHByaXZh
dGVCcm93c2luZ1N0YXRlbWVudHMgPSBbCi0gICAgIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RT
IFByaXZhdGVUZXN0MiAocmFuZG9tRGF0YSkiLAotICAgICJERUxFVEUgRlJPTSBQcml2YXRlVGVz
dDEiLAotICAgICJEUk9QIFRBQkxFIFByaXZhdGVUZXN0MSIsCi0gICAgIklOU0VSVCBJTlRPIFBy
aXZhdGVUZXN0MSBWQUxVRVMgKCdzb21lZGF0YScpIiwKLSAgICAiU0VMRUNUICogRlJPTSBQcml2
YXRlVGVzdDEiCi1dOwotCi12YXIgY29tcGxldGVkID0gMDsKLXZhciB0aGVUcmFuc2FjdGlvbjsK
LQotZnVuY3Rpb24gc2V0dXBTdWNjZXNzRnVuY3Rpb24odHgsIHJlc3VsdCkKLXsKLSAgICArK2Nv
bXBsZXRlZDsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygiU2V0dXAgc3RhdGVtZW50ICIgKyBjb21w
bGV0ZWQgKyAiIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKLSAgICBjaGVja1NldHVwQ29tcGxl
dGUoKTsKLX0KLQotZnVuY3Rpb24gc2V0dXBFcnJvckZ1bmN0aW9uKHR4LCBlcnJvcikKLXsKLSAg
ICArK2NvbXBsZXRlZDsKLSAgICB3cml0ZU1lc3NhZ2VUb0xvZygiU2V0dXAgc3RhdGVtZW50ICIg
KyBjb21wbGV0ZWQgKyAiIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2Fn
ZSk7Ci0gICAgY2hlY2tTZXR1cENvbXBsZXRlKCk7Ci19Ci0KLWZ1bmN0aW9uIHByaXZhdGVCcm93
c2luZ1N1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQotewotICAgICsrY29tcGxldGVkOwotICAg
IHdyaXRlTWVzc2FnZVRvTG9nKCJQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAiICsgY29tcGxl
dGVkICsgIiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Iik7Ci19Ci0KLWZ1bmN0aW9uIHByaXZhdGVC
cm93c2luZ0Vycm9yRnVuY3Rpb24odHgsIGVycm9yKQotewotICAgICsrY29tcGxldGVkOwotICAg
IHdyaXRlTWVzc2FnZVRvTG9nKCJQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCAiICsgY29tcGxl
dGVkICsgIiBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvclxuIiArIGVycm9yLm1lc3NhZ2UpOwotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gcnVuU2V0dXAodHJhbnNhY3Rpb24pCi17Ci0g
ICAgdGhlVHJhbnNhY3Rpb24gPSB0cmFuc2FjdGlvbjsKLSAgICBmb3IgKGkgaW4gc2V0dXBTdGF0
ZW1lbnRzKQotICAgICAgICB0aGVUcmFuc2FjdGlvbi5leGVjdXRlU3FsKHNldHVwU3RhdGVtZW50
c1tpXSwgW10sIHNldHVwU3VjY2Vzc0Z1bmN0aW9uLCBzZXR1cEVycm9yRnVuY3Rpb24pOwotfQot
Ci1mdW5jdGlvbiBjaGVja1NldHVwQ29tcGxldGUoKQotewotICAgIGlmIChjb21wbGV0ZWQgPT0g
c2V0dXBTdGF0ZW1lbnRzLmxlbmd0aCkKLSAgICAgICAgcnVuUHJpdmF0ZUJyb3dzaW5nVGVzdHMo
KTsKLX0KLQotZnVuY3Rpb24gcnVuUHJpdmF0ZUJyb3dzaW5nVGVzdHMoKQotewotICAgIGNvbXBs
ZXRlZCA9IDA7Ci0KLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKHRydWUpOwot
ICAgIAotICAgIGZvciAoaSBpbiBwcml2YXRlQnJvd3NpbmdTdGF0ZW1lbnRzKQotICAgICAgICB0
aGVUcmFuc2FjdGlvbi5leGVjdXRlU3FsKHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHNbaV0sIFtd
LCBwcml2YXRlQnJvd3NpbmdTdWNjZXNzRnVuY3Rpb24sIHByaXZhdGVCcm93c2luZ0Vycm9yRnVu
Y3Rpb24pOwotfQotCi1mdW5jdGlvbiBlbmRUZXN0KCkKLXsKLSAgICB3cml0ZU1lc3NhZ2VUb0xv
ZygiVGVzdCBlbmRlZCIpOwotICAgIAotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
ewotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB2YXIgZGF0
YWJhc2UgPSBvcGVuRGF0YWJhc2UoIlByaXZhdGVCcm93c2luZ05vUmVhZE5vV3JpdGVUZXN0Iiwg
IjEuMCIsICJUZXN0IHByaXZhdGUgYnJvd3Npbmcgbm8gcmVhZC93cml0ZSBzYWZldHkiLCAxKTsK
LSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihydW5TZXR1cCwgZW5kVGVzdCwgZW5kVGVzdCk7Ci19
Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KLVRoaXMg
dGVzdCBtYWtlcyBzdXJlIHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBkdXJp
bmcgcHJpdmF0ZSBicm93c2luZyBmYWlsLjxicj4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9xdW90YS10
cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5n
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ4NjBmMGMwNGRk
NzU2ZmM4ZDQ3NGIzNzliZTNhNWZjN2Y3Y2U4Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVVJIERFTEVHQVRFIERB
VEFCQVNFIENBTExCQUNLOiBleGNlZWRlZERhdGFiYXNlUXVvdGFGb3JTZWN1cml0eU9yaWdpbjp7
ZmlsZSwgLCAwfSBkYXRhYmFzZTpRdW90YU1hbmFnZW1lbnREYXRhYmFzZTIKLVRoaXMgdGVzdCBj
aGVja3MgdG8gbWFrZSBzdXJlIHRoYXQgcXVvdGFzIGFyZSBlbmZvcmNlZCBwZXItb3JpZ2luIGlu
c3RlYWQgb2YgcGVyLWRhdGFiYXNlLCBhcyB0aGV5IHdlcmUgcHJpb3IgdG8gaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9wcm9qZWN0cy93ZWJraXQvY2hhbmdlc2V0LzI5OTgzLgotVGhlIHRlc3QgY2xl
YXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywg
dGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0
aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBV
SSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBz
aG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBv
ZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotQWRkaW5nIGEgdGFi
bGUKLUluc2VydGluZyBzb21lIGRhdGEKLURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxl
Ci1JbnNlcnRpbmcgc29tZSBkYXRhCi1FeHBlY3RlZCBxdW90YSBleGNlcHRpb24gLSB0aGVyZSB3
YXMgbm90IGVub3VnaCByZW1haW5pbmcgc3RvcmFnZSBzcGFjZSwgb3IgdGhlIHN0b3JhZ2UgcXVv
dGEgd2FzIHJlYWNoZWQgYW5kIHRoZSB1c2VyIGRlY2xpbmVkIHRvIGFsbG93IG1vcmUgc3BhY2UK
LURvbmUgYWRkaW5nIGRhdGEKLUFkZGluZyBhIHRhYmxlCi1JbnNlcnRpbmcgc29tZSBkYXRhCi1E
b25lIGFkZGluZyBkYXRhCi1UZXN0IENvbXBsZXRlCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvcXVvdGEtdHJhY2tpbmcuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcXVvdGEt
dHJhY2tpbmcuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmU1MjUyM2IxNjNm
MDU0NTU4OGE4OGViMTMxMGJkZmQ4YzY2MjNhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3F1b3RhLXRyYWNraW5nLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQ+Ci12YXIgZGF0YWJhc2UxID0gbnVsbDsKLXZhciBkYXRhYmFzZTIgPSBudWxsOwotdmFyIGRh
dGFiYXNlMyA9IG51bGw7Ci0KLWZ1bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7
Ci19Ci0KLWZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGxvZygiVGVzdCBDb21wbGV0ZSIp
OwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JG
dW5jdGlvbih0eCwgZXJyb3IpCi17Ci0gICAgbG9nKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAtICIg
KyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRyYW5z
YWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJyb3IpCi17Ci0gICAgLy8gV2Ugb25seSBleHBlY3Qg
YW4gZXJyb3IgbWVzc2FnZSBmb3IgZGF0YWJhc2UyCi0gICAgaWYgKGRiID09IGRhdGFiYXNlMikg
ewotICAgICAgICBsb2coIkV4cGVjdGVkIHF1b3RhIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNz
YWdlKTsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9uIC0gIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAg
ICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oZGIp
Ci17Ci0gICAgbG9nKCJEb25lIGFkZGluZyBkYXRhIik7Ci0KLSAgICBpZiAoZGF0YWJhc2UzKSB7
Ci0gICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UgaWYgKGRhdGFiYXNlMikgewotICAg
ICAgICBkYXRhYmFzZTMgPSBvcGVuRGF0YWJhc2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMyIs
ICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFuYWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7
Ci0gICAgICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTMpOwotICAgIH0gZWxzZSB7Ci0gICAgICAg
IGRhdGFiYXNlMiA9IG9wZW5EYXRhYmFzZSgiUXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyIiwgIjEu
MCIsICJUZXN0IGZvciBxdW90YSBtYW5hZ2VtZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKLSAg
ICAgICAgdGVzdERhdGFiYXNlKGRhdGFiYXNlMik7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBhZGRE
YXRhKGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxv
ZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOwotICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQg
SU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkgVkFMVUVTIChaRVJPQkxPQigxNzQwOCkpIiwgW10s
Ci0gICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1l
bnRFcnJvckZ1bmN0aW9uKTsKLSAgICAgICAgaWYgKGRiID09IGRhdGFiYXNlMikgewotICAgICAg
ICAgICAgLy8gVHJ5IHRvIHJ1biB0aGlzIHN0YXRlbWVudCBvbiAnZGF0YWJhc2UyJyBvbmx5Lgot
ICAgICAgICAgICAgLy8gSXQgc2hvdWxkIG5vdCBiZSBydW4sIGJlY2F1c2UgdGhlIHByZXZpb3Vz
IHN0YXRlbWVudCBzaG91bGQndmUKLSAgICAgICAgICAgIC8vIHJlc3VsdGVkIGluIGEgZmFpbHVy
ZSB0aGF0IG1hZGUgc3FsaXRlIHJvbGwgYmFjayB0aGUgZW50aXJlIHRyYW5zYWN0aW9uLgotICAg
ICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gRGF0YVRlc3QgKHJhbmRvbURhdGEp
IFZBTFVFUyAoWkVST0JMT0IoMTApKSIsIFtdLAotICAgICAgICAgICAgICAgICAgICAgICAgICBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2co
IlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIHJ1bi4iKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7Ci0gICAgICAgIH0KLSAgICB9LCBmdW5jdGlv
bihlcnJvcikgewotICAgICAgICB0cmFuc2FjdGlvbkVycm9yRnVuY3Rpb24oZGIsIGVycm9yKTsK
LSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKLSAgICB9
KTsKLX0KLQotZnVuY3Rpb24gdGVzdERhdGFiYXNlKGRiKQotewotICAgIGRiLnRyYW5zYWN0aW9u
KGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIGxvZygiQWRkaW5nIGEgdGFibGUiKTsKLSAgICAgICAg
dHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLAot
ICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsgfSwgc3RhdGVtZW50
RXJyb3JGdW5jdGlvbik7Ci0gICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgdHJhbnNh
Y3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBlcnJvcik7Ci0gICAgfSwgZnVuY3Rpb24oKSB7Ci0gICAg
ICAgIGFkZERhdGEoZGIpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5zZXREYXRhYmFzZVF1b3RhKDQwOTYwKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7Ci0gICAgfQotCi0gICAgZGF0YWJhc2UxID0gb3BlbkRhdGFiYXNlKCJRdW90YU1hbmFnZW1l
bnREYXRhYmFzZTEiLCAiMS4wIiwgIlRlc3QgZm9yIHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81
NjI4NDY4PiIsIDEpOwotICAgIHRlc3REYXRhYmFzZShkYXRhYmFzZTEpOwotfQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNoZWNr
cyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMgYXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVh
ZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkgd2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFuZ2VzZXQvMjk5ODMuPGJyPgotVGhlIHRlc3QgY2xl
YXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhlIHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywg
dGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9mIGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0
aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNlY29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBV
SSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3JtZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBz
aG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBv
ZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3VsZCBzdWNjZWVkIGFnYWluLgotPHByZSBpZD0iY29u
c29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLWFuZC13cml0ZS10cmFuc2Fj
dGlvbnMtZG9udC1ydW4tdG9nZXRoZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjYzg5NzljM2NiNTA3ZDkyMDAwNTc3ZjhmZmNjNzcwNDdmMjE1N2Q5Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0
aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0
aGUgc2FtZSBkYXRhYmFzZSBkb24ndCBydW4gdG9nZXRoZXIuCi1UcmFuc2FjdGlvbiBzdWNjZXNz
ZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1U
cmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KLVRyYW5zYWN0
aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgotVHJhbnNhY3Rpb24gc3Vj
Y2Vzc2Z1bC4KLVRyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCi1UcmFuc2FjdGlvbiBzdWNjZXNzZnVs
LgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFk
LWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMTFkYTM1Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBmOGZj
OTg1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dl
dGhlci5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxz
Y3JpcHQgc3JjPSJyZWFkLWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIu
anMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsi
PgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBhbmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRp
ZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvbid0IHJ1biB0b2dldGhlci48
YnI+Ci08cHJlIGlkPSJjb25zb2xlIj4KLUZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KLTwvcHJl
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFk
LWFuZC13cml0ZS10cmFuc2FjdGlvbnMtZG9udC1ydW4tdG9nZXRoZXIuanMgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5q
cwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWI4MTdiYWQzMzA3MzcxZDdhZDE5OWI0
MGJmMTE5YjViMDU2MzdkNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1k
b250LXJ1bi10b2dldGhlci5qcworKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLWZ1bmN0
aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCi17Ci0gICAgcmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhT
dWZmaXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9uc0RvbnRSdW5Ub2dldGhlclRlc3QiLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IHJlYWQgYW5kIHdyaXRlIHRy
YW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2FtZSBEQiBkb24ndCBy
dW4gYXQgdGhlIHNhbWUgdGltZS4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDMyNzY4KTsKLX0KLQotdmFyIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID0gMDsKLXZhciB3
cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwotdmFyIHRvdGFsVHJhbnNhY3Rpb25zID0g
MDsKLXZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7Ci0KLWZ1bmN0aW9uIHJ1blRyYW5zYWN0
aW9uKGRiLCByZWFkT25seSkKLXsKLSAgICB2YXIgdHJhbnNhY3Rpb25GdW5jdGlvbiA9IChyZWFk
T25seSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRiLnRyYW5zYWN0aW9uKTsKLSAgICB0cmFuc2Fj
dGlvbkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICBpZiAocmVh
ZE9ubHkpIHsKLSAgICAgICAgICAgICAgICBpZiAod3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNz
ICE9IDApIHsKLSAgICAgICAgICAgICAgICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9uIHN0YXJ0
aW5nIHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGluIHByb2dyZXNzLiIpOwotICAgICAgICAgICAg
ICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7Ci0gICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIGlmICgocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgIT0gMCkgfHwg
KHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAwKSkgewotICAgICAgICAgICAgICAgICAg
ICBsb2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIGFub3RoZXIgdHJhbnNhY3Rp
b24gaW4gcHJvZ3Jlc3MuIik7Ci0gICAgICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsK
LSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgd3JpdGVUcmFuc2FjdGlvbnNJblBy
b2dyZXNzKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxF
Q1QgKiBGUk9NIFRlc3Q7Iik7Ci0gICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAg
ICAgICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDogIldyaXRlIikgKyAiIHRyYW5zYWN0aW9uIGZh
aWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOwotICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOwot
ICAgICAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICBmaW5pc2hlZFRyYW5zYWN0aW9u
cysrOwotICAgICAgICAgICAgIGlmIChyZWFkT25seSkKLSAgICAgICAgICAgICAgICAgcmVhZFRy
YW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKLSAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0tOwotICAgICAgICAgICAgIGxvZygiVHJh
bnNhY3Rpb24gc3VjY2Vzc2Z1bC4iKTsKLSAgICAgICAgICAgICBpZiAoKGZpbmlzaGVkVHJhbnNh
Y3Rpb25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAmJiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jl
c3MgPT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKSkKLSAgICAgICAg
ICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVu
UmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpCi17Ci0gICAgdG90YWxUcmFu
c2FjdGlvbnMgPSAxMDsKLSAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7Ci0gICAgcnVuVHJh
bnNhY3Rpb24oZGIxLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihkYjIsIHRydWUpOwotICAg
IHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1
ZSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0cnVlKTsKLSAgICBydW5UcmFuc2FjdGlvbihk
YjMsIHRydWUpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOwotICAgIHJ1blRyYW5z
YWN0aW9uKGRiMiwgZmFsc2UpOwotICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7Ci0gICAg
cnVuVHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpIHsKLSAg
ICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAgIHZhciBkYjIgPSBvcGVuVGVzdERh
dGFiYXNlKCk7Ci0gICAgdmFyIGRiMyA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKLSAgICBkYjEudHJh
bnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFU
RSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBpbnQpOyIpOwotICAgICAgICB9LCBmdW5j
dGlvbihlcnJvcikgewotICAgICAgICAgICAgbG9nKCJDYW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRh
YmxlOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7Ci0g
ICAgICAgIH0sIGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgcnVuUmVhZEFuZFdyaXRlVHJhbnNh
Y3Rpb25zKGRiMSwgZGIyLCBkYjMpOwotICAgICAgICB9KTsKLX0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5n
LWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGY1OGQyZGZlNmFiYjFhMzE0NTdlYjUxNzllZGY0Y2YwMDA4MWY2ODUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFk
LXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwzICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9ubHkg
dHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJ1
biBjb25jdXJyZW50bHkuCi1SZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRseS4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0aW9ucy1ydW5u
aW5nLWNvbmN1cnJlbnRseS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9yZWFkLXRyYW5zYWN0
aW9ucy1ydW5uaW5nLWNvbmN1cnJlbnRseS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBiMmQ4NjJjMWU2Y2U4MjRmNDA4ODU4NTg0Yjk1ODcxOWI5NWNjMGJkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
cmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDY3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBs
b2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCArPSBtZXNzYWdlICsg
Ijxicj4iOwotfQotCi1mdW5jdGlvbiB0ZXJtaW5hdGVUZXN0KCkKLXsKLSAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIG9wZW5UZXN0RGF0YWJhc2UoKQotewotICAgIHJldHVy
biBvcGVuRGF0YWJhc2UoIlJlYWRUcmFuc2FjdGlvbnNSdW5uaW5nQ29uY3VycmVudGx5VGVzdCIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICJUZXN0IHRvIG1ha2Ugc3VyZSB0aGF0IG11bHRpcGxlIHJlYWQgdHJhbnNhY3Rpb25zIG9uIGRp
ZmZlcmVudCBEQiBoYW5kbGVzIHRvIHRoZSBzYW1lIERCIHJ1biBjb25jdXJyZW50bHkuIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKLX0KLQotdmFyIHJlYWRUcmFuc2FjdGlvbnNJ
blByb2dyZXNzID0gMDsKLQotZnVuY3Rpb24gcnVuUmVhZFRyYW5zYWN0aW9uKGRiKQotewotICAg
IGRiLnJlYWRUcmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAgICAgcmVhZFRyYW5z
YWN0aW9uc0luUHJvZ3Jlc3MrKzsKLSAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAg
ICAgICAgIGxvZygiUmVhZCB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsK
LSAgICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKLSAgICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICBpZiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMikKLSAgICAgICAg
ICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LiIpOwot
ICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKLSAgICAgICAgICAgIGlm
IChyZWFkVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyA9PSAwKQotICAgICAgICAgICAgICAgIHRlcm1p
bmF0ZVRlc3QoKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIgZGIxID0gb3BlblRl
c3REYXRhYmFzZSgpOwotICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFzZSgpOwotICAg
ICAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgICAgICB0eC5l
eGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gaW50KTsiKTsK
LSAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJD
YW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7Ci0gICAgICAg
ICAgICAgICAgdGVybWluYXRlVGVzdCgpOwotICAgICAgICAgICAgfSwgZnVuY3Rpb24oKSB7Ci0g
ICAgICAgICAgICAgICAgcnVuUmVhZFRyYW5zYWN0aW9uKGRiMSk7Ci0gICAgICAgICAgICAgICAg
cnVuUmVhZFRyYW5zYWN0aW9uKGRiMik7Ci0gICAgICAgICAgICB9KTsKLSAgICAgfSBjYXRjaChl
cnIpIHsgbG9nKGVycik7IH0KLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJy
dW5UZXN0KCk7Ij4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHR3byByZWFkLW9ubHkgdHJhbnNhY3Rp
b25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJ1biBjb25jdXJy
ZW50bHkuPGJyPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9y
ZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBkMWViNDEwMmU1MThjZDk5NjVlM2NhMGU0MDEyYjJhNTFkNTFmZTc4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVz
b3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAK
LXZhciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKLQotZnVuY3Rpb24gb3BlbkRhdGFiYXNlV2l0
aFN1ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwgY2FsbGJhY2spCi17Ci0g
ICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7Ci0gICAgICAgIHJldHVybiBvcGVuRGF0YWJh
c2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSwgY2Fs
bGJhY2spOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHJldHVybiBvcGVuRGF0YWJhc2UobmFtZSAr
IERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6ZSk7Ci0gICAgfQotfQot
Ci1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKLX0KLQotZnVuY3Rpb24gc2V0
TG9jYXRpb25IYXNoKGhhc2gpIHsKLSAgICBsb2NhdGlvbi5oYXNoID0gaGFzaDsKLX0KLQotZnVu
Y3Rpb24gc2V0dXBBbmRSdW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLSAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCA9ICIiOwotICAgIHJ1
blRlc3QoKTsKLX0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVzb3VyY2VzL2Rh
dGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvcmVz
b3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLTIuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNmUwZjA5Y2VhNzFhNWIzZDU2MGI2ZDI4NzM0N2UxZDAzZjhiYTgwOS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWZ1
bmN0aW9uIGxvZyhtZXNzYWdlKQotewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25z
b2xlIikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Ci19Ci0KLWZ1bmN0aW9uIGZpbmlz
aFRlc3QoKQotewotICAgIGxvZygiVGVzdCBwYXJ0IDIgQ29tcGxldGUiKTsKLSAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9yRnVuY3Rpb24oZXJyb3IpCi17Ci0gICAg
bG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICBmaW5pc2hUZXN0KCk7
Ci19Ci0KLWZ1bmN0aW9uIGFkZERhdGEoZGIpCi17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsKLSAgICAgICAgbG9nKCJJbnNlcnRpbmcgc29tZSBkYXRhIik7Ci0gICAgICAgIHR4
LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTICg/KSIs
IFsiQSJdLAotICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkgeyB9LCBmdW5jdGlvbih0
eCwgZXJyb3IpIHsgZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOwotICAgIH0sIGZ1bmN0aW9uKCkg
eyB9LCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVz
dCgpCi17Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICB9Ci0KLSAgICB0cnkgewotICAgICAgICB2YXIg
ZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rlc3QiLCAiMS4wIiwgIlRlc3Qg
Zm9yIGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKLSAgICAgICAgYWRkRGF0YShkYXRhYmFz
ZSk7Ci0gICAgfSBjYXRjaChlKSB7Ci0gICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qgb3Bl
biBkYXRhYmFzZSIpOwotICAgICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgfQotfQotCi08L3Njcmlw
dD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHByZSBpZD0iY29uc29s
ZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9yZXNvdXJjZXMvc3RyZXNzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYjk5YWYzYzc5NjFmNDI3YTg3YTZlZjdmYWFmMGQxNGIyODliYzcyMi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Jl
c291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAK
LTwhZG9jdHlwZSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci12YXIgZGI7Ci0KLXRy
eSB7Ci0gICAgaWYgKHdpbmRvdy5vcGVuRGF0YWJhc2UpIHsKLSAgICAgICAgZGIgPSBvcGVuRGF0
YWJhc2UoIlN0cmVzc1Rlc3QyIiwgIjEuMCIsICJEYXRhYmFzZSBzdHJlc3MgdGVzdCIsIDIwMDAw
MCk7Ci0gICAgICAgIGlmICghZGIpCi0gICAgICAgICAgICBhbGVydCgiRmFpbGVkIHRvIG9wZW4g
dGhlIGRhdGFiYXNlIG9uIGRpc2suICBUaGlzIGlzIHByb2JhYmx5IGJlY2F1c2UgdGhlIHZlcnNp
b24gd2FzIGJhZCBvciB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGxlZnQgaW4gdGhpcyBkb21h
aW4ncyBxdW90YSIpOwotICAgIH0gZWxzZQotICAgICAgICBhbGVydCgiQ291bGRuJ3Qgb3BlbiB0
aGUgZGF0YWJhc2UuICBQbGVhc2UgdHJ5IHdpdGggYSBXZWJLaXQgbmlnaHRseSB3aXRoIHRoaXMg
ZmVhdHVyZSBlbmFibGVkIik7Ci19IGNhdGNoKGVycikgeyB9Ci0KLWZ1bmN0aW9uIGxvYWRlZCgp
Ci17Ci0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0
ZVNxbCgiU0VMRUNUIENPVU5UKCopIEZST00gV2Via2l0U3RpY2t5Tm90ZXMiLCBbXSwgZnVuY3Rp
b24ocmVzdWx0KSB7Ci0gICAgICAgICAgICBsb2FkTm90ZXMoKTsKLSAgICAgICAgfSwgZnVuY3Rp
b24odHgsIGVycm9yKSB7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUg
V2ViS2l0U3RpY2t5Tm90ZXMgKGlkIFJFQUwgVU5JUVVFLCBub3RlIFRFWFQpIiwgW10sIGZ1bmN0
aW9uKHJlc3VsdCkgeyAKLSAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5U
TyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywgPykiLCBbMSwgJ1RleHQn
XSwgZnVuY3Rpb24ocmVzdWx0KSB7IAotICAgICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3Fs
KCJJTlNFUlQgSU5UTyBXZWJLaXRTdGlja3lOb3RlcyAoaWQsIG5vdGUpIFZBTFVFUyAoPywgPyki
LCBbMiwgJ01vcmUgVGV4dCddLCBmdW5jdGlvbihyZXN1bHQpIHsgCi0gICAgICAgICAgICAgICAg
ICAgICAgICBsb2FkTm90ZXMoKTsgCi0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1m
dW5jdGlvbiBsb2FkTm90ZXMoKQotewotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7
Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBpZCwgbm90ZSBGUk9NIFdlYktpdFN0aWNr
eU5vdGVzIiwgW10sIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAgIGxvYWROb3Rl
cygpOwotICAgICAgICB9LCBmdW5jdGlvbih0eCwgZXJyb3IpIHsKLSAgICAgICAgICAgIGFsZXJ0
KCdGYWlsZWQgdG8gcmV0cmlldmUgbm90ZXMgZnJvbSBkYXRhYmFzZSAtICcgKyBlcnJvci5tZXNz
YWdlKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci19Ci0KLWFk
ZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQsIGZhbHNlKTsKLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5UaGlzIHRlc3QgbmVlZHMgdG8gcnVuIHdpdGhvdXQgY3Jhc2hlcyBhbmQg
YXNzZXJ0aW9uIGZhaWx1cmVzIGZvciBhIHdoaWxlLjxwPgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjYwY2FmNTIzYjg3MjhlMGM1NjRkNmRhNTlhZGM2ZDI4
NmZlNTJiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDcgKzAsMCBAQAotUEFTUzogcHJvcGVydHkgJ3RpbWVzdGFtcCcgb2ssIHR5cGUg
d2FzIG51bWJlcgotUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3YXMgbnVtYmVyCi1QQVNT
OiBwcm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgotUEFTUzogcHJvcGVydHkgJ3Rl
eHQnIG9rLCB0eXBlIHdhcyBzdHJpbmcKLVBBU1M6IHByb3BlcnR5ICdibG9iJyBvaywgdHlwZSB3
YXMgc3RyaW5nCi1QQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KLQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9zcWwtZGF0YS10eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9zcWwtZGF0YS10eXBlcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDFj
OThmODQ0YzA3M2IzOWViM2E2ZDU0NWZhNDAwMzM0NGRhMWI0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWRhdGEt
dHlwZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJzcWwtZGF0YS10eXBlcy5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwcmUgaWQ9
ImNvbnNvbGUiPjwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwt
ZGF0YS10eXBlcy5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZmY2QwMTNiNjY3
ZmJiNTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1kYXRhLXR5cGVzLmpz
CisrKyAvZGV2L251bGwKQEAgLTEsODcgKzAsMCBAQAotLy9kZXNjcmlwdGlvbigiVGhpcyB0ZXN0
IHZlcmlmaWVzIHRoYXQgdGhlIGphdmFzY3JpcHQgdmFsdWVzIHJldHVybmVkIGJ5IGRhdGFiYXNl
IHF1ZXJpZXMgYXJlIG9mIHNhbWUgdHlwZSBhcyB0aGUgdmFsdWVzIHB1dCBpbnRvIHRoZSBkYXRh
YmFzZS4iKTsKLQotZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9Mb2cobWVzc2FnZSkKLXsKLSAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsg
IlxuIjsKLX0KLQotZnVuY3Rpb24gbm90aWZ5RG9uZShzdHIpIHsKLSAgICB3cml0ZU1lc3NhZ2VU
b0xvZyhzdHIpOwotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIHRlc3RWYWx1ZXMg
PSB7Ci0gICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgiV2VkIEZlYiAwNiAyMDA4IDEyOjE2OjUyIEdN
VCswMjAwIChFRVQpIikudmFsdWVPZigpLAotICAgIGlkOiAxMDAxLAotICAgIHJlYWw6IDEwMS40
NDQsCi0gICAgdGV4dDogIldlYktpdCBkYiBURVhUIiwKLSAgICBibG9iOiAic3VwZXJjYWxpZnJh
Z2lsaXN0aWMiCi19OwotCi1mdW5jdGlvbiBzaG91bGRCZVNhbWVUeXBlQW5kVmFsdWUocHJvcE5h
bWUsIHRlc3RWYWx1ZSwgcmVzdWx0KSB7Ci0gICAgaWYgKHRlc3RWYWx1ZSA9PSByZXN1bHQgJiYg
dHlwZW9mIHRlc3RWYWx1ZSA9PSB0eXBlb2YgcmVzdWx0KSB7Ci0gICAgICAgIHdyaXRlTWVzc2Fn
ZVRvTG9nKCJQQVNTOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgb2ssIHR5cGUgd2FzICIg
KyB0eXBlb2YgcmVzdWx0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHdyaXRl
TWVzc2FnZVRvTG9nKCJGQUlMOiBwcm9wZXJ0eSAnIiArIHByb3BOYW1lICsgIicgZmFpbGVkLiIK
LSAgICAgICAgKyAiIGV4cGVjdGVkOiAiICsgdHlwZW9mIHRlc3RWYWx1ZSArICI6JyIgKyB0ZXN0
VmFsdWUgKyAiJyAiCi0gICAgICAgICsgIiBnb3Q6ICIgKyB0eXBlb2YgcmVzdWx0ICsgIjonIiAr
IHJlc3VsdCArIiciKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWZ1bmN0aW9uIHRlc3REQlZh
bHVlcyh0eCwgcmVzdWx0KSB7Ci0gICAgdmFyIHJzID0gcmVzdWx0LnJvd3MuaXRlbSgwKTsKLSAg
ICAvLyBBdm9pZCBmb3IgLi4gaW4gYmVjYXVzZSAodGhlcmV0aWNhbGx5KSB0aGUgb3JkZXIgY2Fu
IGNoYW5nZQotICAgIGkgPSAidGltZXN0YW1wIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGks
IHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gImlkIjsgc2hvdWxkQmVTYW1lVHlwZUFu
ZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKLSAgICBpID0gInJlYWwiOyBzaG91bGRC
ZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOwotICAgIGkgPSAidGV4
dCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7Ci0g
ICAgaSA9ICJibG9iIjsgc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0s
IHJzW2ldKTsKLSAgICAKLSAgICB0eC5leGVjdXRlU3FsKCJEUk9QIFRBQkxFIERhdGFUeXBlVGVz
dFRhYmxlIiwgW10sCi0gICAgICAgIGZ1bmN0aW9uKHR4LCByZXN1bHQpIHsKLSAgICAgICAgICAg
IG5vdGlmeURvbmUoIlBBU1M6IGRhdGFiYXNlIGNsZWFuIHVwIG9rLiIpOwotICAgICAgICB9LAot
ICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7Ci0gICAgICAgICAgICBub3RpZnlEb25lKCJG
QUlMOiBEYXRhYmFzZSBjbGVhbiB1cCBmYWlsZWQuIik7Ci0gICAgICAgIH0pOwotfQotCi1mdW5j
dGlvbiBmZXRjaERCVmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7Ci0gICAgdHguZXhlY3V0ZVNxbCgi
U0VMRUNUICogRlJPTSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtdLAotICAgICAgICB0ZXN0REJWYWx1
ZXMsCi0gICAgICAgIGZ1bmN0aW9uKHR4LGVycm9yKSB7Ci0gICAgICAgICAgICBub3RpZnlEb25l
KCJGQUlMOiBFcnJvciBmZXRjaGluZyB2YWx1ZXMgZnJvbSB0aGUgZGIuIikKLSAgICAgICAgfSk7
Ci19Ci0KLWZ1bmN0aW9uIGluc2VydFRlc3RWYWx1ZXNTdG10KHR4LCByZXN1bHQpIHsKLSAgICB0
eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQsIHJlYWwsIHRp
bWVzdGFtcCwgdGV4dCwgYmxvYikgVkFMVUVTICg/LD8sPyw/LD8pIiwKLSAgICAgICAgW3Rlc3RW
YWx1ZXMuaWQsIHRlc3RWYWx1ZXMucmVhbCwgdGVzdFZhbHVlcy50aW1lc3RhbXAsIHRlc3RWYWx1
ZXMudGV4dCwgdGVzdFZhbHVlcy5ibG9iXSwKLSAgICAgICAgZmV0Y2hEQlZhbHVlc1N0bXQsCi0g
ICAgICAgIGZ1bmN0aW9uKHR4LCBlcnJvcikgewotICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJ
TDogRXJyb3IgaW5zZXJ0aW5nIHZhbHVlcyB0byB0aGUgZGIuIik7Ci0gICAgICAgIH0pOwotfQot
Ci1mdW5jdGlvbiBjcmVhdGVUZXN0REJTdG10KHR4KQotewotICAgIHR4LmV4ZWN1dGVTcWwoIkNS
RUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUeXBlVGVzdFRhYmxlIChpZCBJTlRFR0VSIFVO
SVFVRSwgcmVhbCBSRUFMLCB0aW1lc3RhbXAgSU5URUdFUiwgdGV4dCBURVhULCBibG9iIEJMT0Ip
IiwgW10sCi0gICAgICAgIGluc2VydFRlc3RWYWx1ZXNTdG10LAotICAgICAgICBmdW5jdGlvbih0
eCwgZXJyb3IpIHsKLSAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGNyZWF0aW5n
IHRoZSBkYi4iKTsKLSAgICAgICAgfSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKSB7Ci0gICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICB9Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCJEYXRhVHlwZVRl
c3QiLCAiMS4wIiwgIkRhdGFiYXNlIGZvciBzcWwgZGF0YSB0eXBlIHRlc3QiLCAxKTsKLSAgICBp
ZiAoZGIpCi0gICAgICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0ZVRlc3REQlN0bXQpOwotICAgIGVs
c2UKLSAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJyb3Igb3BlbmluZyB0aGUgZGIiKTsKLX0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTE5Nzc2YTVmZjcxY2FiNTcyNjFhN2FhNDRm
MzBhOTgxNTdiNGMyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IEV4Y2VwdGlvbiB0
aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCi1DT05TT0xFIE1FU1NBR0U6IENhbm5vdCBj
YWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCi1UaGlzIHRlc3QgdGVzdHMgdGhlIGVycm9y
IGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCi1QQVNTOiBleHBlY3Rl
ZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3Qg
ZXJyb3IgY29kZSBVTktOT1dOX0VSUgotUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2Rl
IFNZTlRBWF9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5UQVhfRVJS
Ci1QQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKLVBBU1M6IGV4
cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKLVBBU1M6IGV4cGVjdGVkIGFuZCBn
b3QgZXJyb3IgY29kZSBWRVJTSU9OX0VSUgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL3NxbC1lcnJvci1jb2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9zcWwtZXJyb3It
Y29kZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGM3MGM2Y2FmZTg4OWM3
ZThiYTRlZjA4ZjU5Mzg3ZTBkM2UxNWIxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5odG1s
CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3Jj
PSJzcWwtZXJyb3ItY29kZXMuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJz
ZXR1cEFuZFJ1blRlc3QoKTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBlcnJvciBjb2RlcyByZXBv
cnRlZCBpbiBleGNlcHRpb25hbCBzaXR1YXRpb25zLjxicj4KLTxwcmUgaWQ9ImNvbnNvbGUiPgot
RkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3NxbC1lcnJvci1jb2Rlcy5qcyBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvc3FsLWVycm9yLWNvZGVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEyNmEzYTU4NmQ4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
c3FsLWVycm9yLWNvZGVzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTE0ICswLDAgQEAKLWZ1bmN0
aW9uIGZpbmlzaFRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotdmFyIFRP
VEFMX1RFU1RTID0gNzsKLXZhciB0ZXN0c1J1biA9IDA7Ci1mdW5jdGlvbiB0cmFuc2FjdGlvbkVy
cm9yQ2FsbGJhY2soZXJyb3IsIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKLXsKLSAgICBpZiAoZXJy
b3IuY29kZSA9PSBlcnJvcltleHBlY3RlZEVycm9yQ29kZU5hbWVdKSB7Ci0gICAgICAgIGxvZygi
UEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJvciBjb2RlICIgKyBleHBlY3RlZEVycm9yQ29kZU5h
bWUpOwotICAgICAgICBpZiAoKyt0ZXN0c1J1biA9PSBUT1RBTF9URVNUUykKLSAgICAgICAgICAg
IGZpbmlzaFRlc3QoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBsb2coIkZBSUw6IGV4cGVjdGVk
IGVycm9yIGNvZGUgIiArIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSArICIgKCIgKyBlcnJvcltleHBl
Y3RlZEVycm9yQ29kZU5hbWVdICsgIik7IGdvdCAiICsgZXJyb3IuY29kZSk7Ci0gICAgICAgIGZp
bmlzaFRlc3QoKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxi
YWNrKCkKLXsKLSAgICBsb2coIkZBSUw6IGEgdHJhbnNhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNj
ZXNzZnVsbHkuIik7Ci0gICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0VHJhbnNh
Y3Rpb24oZGIsIHRyYW5zYWN0aW9uQ2FsbGJhY2ssIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSkKLXsK
LSAgICBkYi50cmFuc2FjdGlvbih0cmFuc2FjdGlvbkNhbGxiYWNrLAotICAgICAgICAgICAgICAg
ICAgIGZ1bmN0aW9uKGVycm9yKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9u
RXJyb3JDYWxsYmFjayhlcnJvciwgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKLSAgICAgICAgICAg
ICAgICAgICB9LCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjayk7Ci19Ci0KLWZ1bmN0aW9uIHRl
c3RUcmFuc2FjdGlvblRocm93c0V4Y2VwdGlvbihkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24o
ZGIsIGZ1bmN0aW9uKHR4KSB7IHRocm93ICJFeGNlcHRpb24gdGhyb3duIGluIHRyYW5zYWN0aW9u
IGNhbGxiYWNrLiI7IH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0VHJhbnNh
Y3Rpb25GYWlsdXJlQmVjYXVzZU9mU3RhdGVtZW50RmFpbHVyZShkYikKLXsKLSAgICB0ZXN0VHJh
bnNhY3Rpb24oZGIsCi0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVNRU5UIiwgW10sIG51bGws
IGZ1bmN0aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7Ci0gICAgICAgICAgICAgICAg
ICAgIH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1mdW5jdGlvbiB0ZXN0SW52YWxpZFN0YXRlbWVu
dChkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7IHR4LmV4ZWN1
dGVTcWwoIkJBRCBTVEFURU1FTlQiKTsgfSwgIlNZTlRBWF9FUlIiKTsKLX0KLQotZnVuY3Rpb24g
dGVzdEluY29ycmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpCi17Ci0gICAgdGVzdFRyYW5z
YWN0aW9uKGRiLAotICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgewotICAgICAgICAg
ICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg
QmFkQmluZE51bWJlclRlc3QgKEZvbyBJTlQsIEJhciBJTlQpIik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kTnVtYmVyVGVzdCBWQUxV
RVMgKD8sID8pIiwgWzFdKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlNZTlRBWF9FUlIiKTsK
LX0KLQotZnVuY3Rpb24gdGVzdEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYikKLXsKLSAgICB2
YXIgYmFkU3RyaW5nID0geyB9OwotICAgIGJhZFN0cmluZy50b1N0cmluZyA9IGZ1bmN0aW9uKCkg
eyB0aHJvdyAiQ2Fubm90IGNhbGwgdG9TdHJpbmcoKSBvbiB0aGlzIG9iamVjdC4iIH07Ci0KLSAg
ICB0ZXN0VHJhbnNhY3Rpb24oZGIsIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmRUeXBlVGVzdCAoRm9vIFRFWFQp
Iik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEJhZEJpbmRUeXBlVGVzdCBW
QUxVRVMgKD8pIiwgW2JhZFN0cmluZ10pOwotICAgIH0sICJVTktOT1dOX0VSUiIpOwotfQotCi1m
dW5jdGlvbiB0ZXN0UXVvdGFFeGNlZWRlZChkYikKLXsKLSAgICB0ZXN0VHJhbnNhY3Rpb24oZGIs
Ci0gICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBRdW90YVRlc3Qg
KEZvbyBCTE9CKSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gUXVvdGFUZXN0IFZBTFVFUyAoWkVST0JMT0IoMTAgKiAxMDI0ICogMTAyNCkpIik7
Ci0gICAgICAgICAgICAgICAgICAgIH0sICJRVU9UQV9FUlIiKTsKLX0KLQotZnVuY3Rpb24gdGVz
dFZlcnNpb25NaXNtYXRjaChkYikKLXsKLSAgICAvLyBVc2UgYW5vdGhlciBEQiBoYW5kbGUgdG8g
Y2hhbmdlIHRoZSB2ZXJzaW9uLiBIb3dldmVyLCBpbiBvcmRlciB0byBtYWtlIHN1cmUgdGhhdCB0
aGUgREIgdmVyc2lvbiBpcyBub3QKLSAgICAvLyBjaGFuZ2VkIGJlZm9yZSB0aGUgdHJhbnNhY3Rp
b25zIGluIHRoZSBvdGhlciB0ZXN0cyBoYXZlIHJ1biwgd2UgbmVlZCB0byBkbyBpdCBpbiBhIHRy
YW5zYWN0aW9uIG9uICdkYicuCi0gICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAg
ICAgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlNRTEVycm9yQ29kZXNUZXN0
IiwgIjEuMCIsICJUZXN0cyB0aGUgZXJyb3IgY29kZXMuIiwgMSk7Ci0gICAgICAgIGRiMi5jaGFu
Z2VWZXJzaW9uKCIxLjAiLCAiMi4wIiwgZnVuY3Rpb24odHgpIHsgfSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGxvZygiRkFJTDogY291bGQgbm90IGNoYW5nZSB0aGUgREIgdmVyc2lvbi4iKTsKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgfSwgZnVuY3Rpb24oKSB7IH0pOwotICAgICAgICB9KTsKLQotICAgIHRlc3RUcmFu
c2FjdGlvbihkYiwKLSAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlRISVMgU1RBVEVNRU5UIFNIT1VMRCBORVZF
UiBHRVQgRVhFQ1VURUQiKTsKLSAgICAgICAgICAgICAgICAgICAgfSwgIlZFUlNJT05fRVJSIik7
Ci19Ci0KLWZ1bmN0aW9uIHJ1blRlc3QoKQotewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7Ci0KLSAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVz
VGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGVycm9yIGNvZGVzLiIsIDEpOwotICAgIHRlc3RUcmFu
c2FjdGlvblRocm93c0V4Y2VwdGlvbihkYik7Ci0gICAgdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJl
Y2F1c2VPZlN0YXRlbWVudEZhaWx1cmUoZGIpOwotICAgIHRlc3RJbnZhbGlkU3RhdGVtZW50KGRi
KTsKLSAgICB0ZXN0SW5jb3JyZWN0TnVtYmVyT2ZCaW5kUGFyYW1ldGVycyhkYik7Ci0gICAgdGVz
dEJpbmRQYXJhbWV0ZXJPZldyb25nVHlwZShkYik7Ci0gICAgdGVzdFF1b3RhRXhjZWVkZWQoZGIp
OwotICAgIHRlc3RWZXJzaW9uTWlzbWF0Y2goZGIpOwotfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDAzZDlmMGM5Njc4NzE1OTBjMTUxNDA3MGU2MDgw
NjdlNTAxMjEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogRXhjZXB0
aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjawotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQg
YSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBh
IHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMg
dHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlv
biBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJy
b3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNh
bGxiYWNrIHdhcyBpbnZva2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KLVBBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCi1QQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgotUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgot
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgotVGVzdCBD
b21wbGV0ZQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3N0YXRlbWVudC1lcnJv
ci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzNzY4OTYzOGJkMmI4YmU1Yjg2YmIzM2Uw
NTZmZjA4NTU3YWQ2ODQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0
ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1BTEVS
VDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBh
IGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0IHRo
ZSBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LWVy
cm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYwNDUxMDIuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRo
aXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSBzdGF0ZW1lbnQgZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVk
IGluIHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4K
LXZhciBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgp
Ci17Ci0gICAgaWYgKCgrK3N0YXRlbWVudEVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSh0
eCwgZXJyb3IpCi17Ci0gICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQu
Iik7Ci0gICAgZG9uZSgpOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMih0
eCwgZXJyb3IpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOwotICAgIGRvbmUoKTsK
LX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJs
ZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1l
bnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4i
OwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAot
ICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEodHgs
IGVycm9yKVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVu
dC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3Jp
cHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3Bl
bkRhdGFiYXNlKCdTdGF0ZW1lbnRFcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywg
JycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIg
KwotICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rp
b24odHgsIGRhdGEpIHt9LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMSk7XG4iICsKLSAgICAgICAg
In0pOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJyb3JDYWxs
YmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtd
LCBmdW5jdGlvbih0eCwgZGF0YSkge30sIHN0YXRlbWVudEVycm9yQ2FsbGJhY2syKTsKLSAgICB9
KTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDZkYjgzNmQxNjE4Yjk5MzI0NTY4NTFhYzlmOGUwN2E3NmNjMTVmYWQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDg3
ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVzc2Fn
ZSkKLXsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCAr
PSBtZXNzYWdlICsgIjxicj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAgICBs
b2coIlRlc3QgQ29tcGxldGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLXZhciB0
eENhbGxiYWNrQ291bnQgPSAwOwotdmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsKLXZh
ciBkYXRhYmFzZTsKLQotZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWwsIHN0
YXRlbWVudEVycm9yQ2FsbGJhY2spCi17Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rp
b24odHgpIHsKLSAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElT
VFMgVGVzdFRhYmxlIChSYW5kb21EYXRhIFRFWFQpIik7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwo
IklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOwotICAgICAgICB0
eC5leGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKLSAgICAgICAgICAg
IGZ1bmN0aW9uKHR4LCBkYXRhKSB7Ci0gICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhpcyBz
dGF0ZW1lbnQgc2hvdWxkIGhhdmUgZmFpbGVkIik7Ci0gICAgICAgICAgICAgICAgZmluaXNoVGVz
dCgpOwotICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7Ci0gICAgICAgIHR4
LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0MSdd
LAotICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXhw
ZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVt
ZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7Ci0gICAgICAgICAgICB9LCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAg
ICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVu
IGV4ZWN1dGVkIik7Ci0gICAgICAgICAgICB9KTsKLSAgICB9LCBmdW5jdGlvbihlcnJvcikgewot
ICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCi0gICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUg
dHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7Ci0gICAgICAgIGVsc2UK
LSAgICAgICAgICAgIGxvZygiRkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBz
aG91bGQgbm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOwotICAgICAgICBpZiAoKyt0eENhbGxiYWNr
Q291bnQgPT0gTlVNQkVSX09GX1RSQU5TQUNUSU9OUykKLSAgICAgICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICB9LCBmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQotICAg
ICAgICAgICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgc2hv
dWxkIG5vdCBoYXZlIGJlZW4gaW52b2tlZC4iKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
bG9nKCJQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQu
Iik7Ci0gICAgICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJ
T05TKQotICAgICAgICAgICAgZmluaXNoVGVzdCgpOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBy
dW5UZXN0KCkKLXsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIud2FpdFVudGlsRG9uZSgpOwotICAgIH0KLQotICAgIGRhdGFiYXNlID0gb3BlbkRhdGFi
YXNlKCJTdGF0ZW1lbnRFcnJvckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVycm9y
IGNhbGxiYWNrIHRlc3QiLCAxMDI0KTsKLQotICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0
aW9uKGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBm
dW5jdGlvbihlcnJvcikgeyB0aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxs
YmFjayI7IHJldHVybiBmYWxzZTsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rp
b24oZXJyb3IpIHsgcmV0dXJuICJzb21lIHN0cmluZyI7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9u
KHRydWUsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiAxMjM0OyB9KTsKLSAgICBydW5UcmFuc2Fj
dGlvbih0cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsgfSk7
Ci0gICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJmYWxz
ZSI7IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30pOwot
ICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFsc2U7
IH0pOwotICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4g
MDsgfSk7Ci0gICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVy
biBudWxsOyB9KTsKLX0KLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRp
YXRlbHkgcm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxs
YmFjayB0aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJu
IGFueSB2YWx1ZS4KLTxwcmUgaWQ9ImNvbnNvbGUiPgotPC9wcmU+Ci08L2JvZHk+Ci0KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9z
dGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlZjAyN2RmYmQxYTA0MzQ2M2YyMTc2OWI3Mzcx
OWE4OGU1YmY2ZDAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdGF0ZW1lbnQtc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRl
ZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFMRVJU
OiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEg
Y2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhl
IHN0YXRlbWVudCBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50LXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3RhdGVtZW50
LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZjMTEzYi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKysr
IC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJv
ZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sg
aXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgot
PHNjcmlwdD4KLXZhciBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2tzSW52b2tlZCA9IDA7Ci1mdW5j
dGlvbiBkb25lKCkKLXsKLSAgICBpZiAoKCsrc3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrc0ludm9r
ZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCi0gICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50U3Vj
Y2Vzc0NhbGxiYWNrMSh0eCwgZGF0YSkKLXsKLSAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBp
c29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHN0YXRlbWVudFN1
Y2Nlc3NDYWxsYmFjazIodHgsIGRhdGEpCi17Ci0gICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIp
OwotICAgIGRvbmUoKTsKLX0KLQotZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQu
Ym9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOwotZG9jdW1lbnQuYm9keS5iYXIg
PSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQg
aW4gdGhpcyB3b3JsZC4iOwotCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKLSAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5J
c29sYXRlZFdvcmxkKAotICAgICAgICAwLAotICAgICAgICAiZnVuY3Rpb24gc3RhdGVtZW50U3Vj
Y2Vzc0NhbGxiYWNrMSh0eCwgZGF0YSlcbiIgKwotICAgICAgICAie1xuIiArCi0gICAgICAgICIg
ICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCi0gICAgICAgICIgICAgd2luZG93Lmxv
Y2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKLSAgICAgICAgIn1cbiIgKwotICAgICAg
ICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrSXNvbGF0
ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24o
ZnVuY3Rpb24odHgpIHtcbiIgKwotICAgICAgICAiICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBU
QUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3ND
YWxsYmFjazEpO1xuIiArCi0gICAgICAgICJ9KTsiKTsKLQotICAgIHZhciBkYjIgPSBvcGVuRGF0
YWJhc2UoJ1N0YXRlbWVudFN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcn
LCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgdHguZXhl
Y3V0ZVNxbCgnQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCknLCBbXSwg
c3RhdGVtZW50U3VjY2Vzc0NhbGxiYWNrMik7Ci0gICAgfSk7Ci19Ci08L3NjcmlwdD4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxs
YmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NjE5MDI0NDE3OGMz
ZWEyZGQ5M2E1NjIzMDJhODA2ZWE4NDg5ODRmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvc3VjY2Vzcy1jYWxsYmFjay1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLVRoaXMgdGVzdCBjb25m
aXJtcyB0aGF0IGEgc3VjY2Vzc2Z1bCB0cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0aG91
dCBhIHN0YXRlbWVudCAtIHJlY2VpdmVzIGl0cyBzdWNjZXNzQ2FsbGJhY2sKLVRyYW5zYWN0aW9u
IHN1Y2NlZWRlZCAtIFRyYW5zYWN0aW9uIHdpdGggb25lIHN0YXRlbWVudAotVHJhbnNhY3Rpb24g
c3VjY2VlZGVkIC0gRW1wdHkgdHJhbnNhY3Rpb24KLVRlc3QgQ29tcGxldGUKLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9zdWNjZXNzLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3N1Y2Nlc3MtY2FsbGJhY2suaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzIzN2FiYTgyZTMwOTcyNDgxYWFiYjcwNTBkNWEyMTQ2ZTI1YzNmYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3N1Y2Nlc3MtY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLTxo
dG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotCi1mdW5jdGlvbiBsb2cobWVzc2FnZSkKLXsKLSAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsg
Ijxicj4iOwotfQotCi1mdW5jdGlvbiBmaW5pc2hUZXN0KCkKLXsKLSAgICBsb2coIlRlc3QgQ29t
cGxldGUiKTsKLSAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQotICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIGVycm9yRnVu
Y3Rpb24oZXJyb3IpCi17Ci0gICAgbG9nKCJUZXN0IGZhaWxlZCAtICIgKyBlcnJvci5tZXNzYWdl
KTsKLSAgICBmaW5pc2hUZXN0KCk7Ci19Ci0KLXZhciBzdWNjZXNzQ291bnQgPSAwOwotCi1mdW5j
dGlvbiBzdWNjZXNzRnVuY3Rpb24obWVzc2FnZSkKLXsKLSAgICBsb2coIlRyYW5zYWN0aW9uIHN1
Y2NlZWRlZCAtICIgKyBtZXNzYWdlKTsKLSAgICBpZiAoKytzdWNjZXNzQ291bnQgPT0gMikKLSAg
ICAgICAgZmluaXNoVGVzdCgpOwotfQotCi1mdW5jdGlvbiBydW5UZXN0KCkKLXsKLSAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OwotICAgIH0KLSAgICAKLSAgICB2YXIgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIlN1Y2Nlc3ND
YWxsYmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBzdWNjZXNzIGNhbGxiYWNrIDxyZGFy
Oi8vNTczNzY5Mj4iLCAxKTsKLSAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkg
eyB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBTdWNjZXNzQ2FsbGJh
Y2tUZXN0IChyYW5kb21EYXRhKSIsIFtdKTsgfSwgZXJyb3JGdW5jdGlvbiwgZnVuY3Rpb24oKSB7
IHN1Y2Nlc3NGdW5jdGlvbigiVHJhbnNhY3Rpb24gd2l0aCBvbmUgc3RhdGVtZW50Iik7IH0pOwot
ICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIGVycm9yRnVuY3Rpb24s
IGZ1bmN0aW9uKCkgeyBzdWNjZXNzRnVuY3Rpb24oIkVtcHR5IHRyYW5zYWN0aW9uIik7IH0pOwot
fQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotVGhp
cyB0ZXN0IGNvbmZpcm1zIHRoYXQgYSBzdWNjZXNzZnVsIHRyYW5zYWN0aW9uIC0gYm90aCB3aXRo
IGFuZCB3aXRob3V0IGEgc3RhdGVtZW50IC0gcmVjZWl2ZXMgaXRzIHN1Y2Nlc3NDYWxsYmFjawot
PHByZSBpZD0iY29uc29sZSI+Ci08L3ByZT4KLTwvYm9keT4KLQotPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXItZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0MGY2
M2MwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDY4ICswLDAgQEAKLVRoaXMgdGVzdCB0ZXN0cyB0aGUgZGF0YWJhc2UgYXV0aG9yaXpl
ci4KLVNRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVB
VEVfSU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50
IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQu
Ci1TUUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVB
VEVfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKLVNRTElURV9SRUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfU0VMRUNUIHN0YXRl
bWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfREVMRVRFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJ
VEVfSU5TRVJUIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1TUUxJVEVfVVBEQVRFIHN0YXRlbWVudCBz
dWNjZWVkZWQuCi1TUUxJVEVfUFJBR01BIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQUxURVJfVEFCTEUgc3Rh
dGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgotU1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQVRUQUNIIHN0YXRlbWVudCBm
YWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1T
UUxJVEVfREVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVu
dCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgotU1FMSVRFX0FOQUxZWkUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBz
dWNjZWVkZWQuCi1TUUxJVEVfRFJPUF9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1T
UUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9EUk9Q
X1RFTVBfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVFJJR0dFUiBzdGF0
ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgot
U1FMSVRFX0RST1BfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVdyaXRlIHRyYW5zYWN0aW9u
IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9U
QUJMRSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQot
U1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVEVNUF9UUklH
R0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3Qg
YXV0aG9yaXplZCkKLVNRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNv
dWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQ1JF
QVRFX1RSSUdHRVIgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgxIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVf
Q1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1l
bnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0NSRUFURV9JTkRFWCBzdGF0ZW1lbnQgc3Vj
Y2VlZGVkLgotU1FMSVRFX0NSRUFURV9URU1QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCi1T
UUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NS
RUFURV9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElURV9DUkVBVEVfVFJJR0dF
UiBzdGF0ZW1lbnQgc3VjY2VlZGVkLgotU1FMSVRFX0NSRUFURV9WSUVXIHN0YXRlbWVudCBzdWNj
ZWVkZWQuCi1TUUxJVEVfQ1JFQVRFX1ZUQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX1JFQUQgc3RhdGVt
ZW50IHN1Y2NlZWRlZC4KLVNRTElURV9TRUxFQ1Qgc3RhdGVtZW50IHN1Y2NlZWRlZC4KLVNRTElU
RV9ERUxFVEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgy
MyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9JTlNFUlQgc3RhdGVtZW50IGZhaWxlZDogY291bGQg
bm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9VUERBVEUg
c3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0
aG9yaXplZCkKLVNRTElURV9QUkFHTUEgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBh
cmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9BTFRFUl9UQUJMRSBzdGF0
ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3Jp
emVkKQotU1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVw
YXJlIHN0YXRlbWVudCAoMSBubyBzdWNoIHRhYmxlOiBUZXN0VGFibGUpCi1TUUxJVEVfVFJBTlNB
Q1RJT04gc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKLVNRTElURV9BVFRBQ0ggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9ERVRBQ0ggc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKLVNRTElURV9SRUlOREVYIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfQU5BTFlaRSBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQot
U1FMSVRFX0RST1BfSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKLVNRTElURV9EUk9QX1RFTVBfVEFCTEUgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKLVNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3Qg
cHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotU1FMSVRFX0RST1BfVEVNUF9W
SUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90
IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9W
SUVXIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90
IGF1dGhvcml6ZWQpCi1TUUxJVEVfRFJPUF9UQUJMRSBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBu
b3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQotUmVhZCB0cmFuc2FjdGlv
bnMgc3VjY2VlZGVkLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0
aG9yaXplci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90ZXN0LWF1dGhvcml6ZXIuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJhZjEwYWE0NzUwMGE0ZjNjZjMxMjRjNzY3
MTczMTc5ZTg5NDM0Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9yaXplci5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMTIgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJ0ZXN0LWF1dGhv
cml6ZXIuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRl
c3QoKTsiPgotVGhpcyB0ZXN0IHRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLjxicj4KLTxw
cmUgaWQ9ImNvbnNvbGUiPgotRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgotPC9wcmU+Ci08L2Jv
ZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3Rlc3QtYXV0aG9y
aXplci5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTA4Yzg5ZGY1NGEzYjZjNGE4NjNjMDFkZjg5ZjQ3NTFj
Y2M5MTg5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvdGVzdC1hdXRob3JpemVyLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTUzICswLDAgQEAKLWZ1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQotewotICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKLX0KLQotZnVuY3Rpb24gbG9nQW5kVGVybWluYXRlVGVzdChtZXNzYWdlLCBlcnJv
cikKLXsKLSAgICBsb2cobWVzc2FnZSArICI6ICIgKyBlcnJvci5tZXNzYWdlKTsKLSAgICB0ZXJt
aW5hdGVUZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIGNsZWFudXAoZGIpCi17Ci0gICAgZGIudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsKLSAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgVEFC
TEUgSUYgRVhJU1RTIFRlc3Q7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJEUk9QIElO
REVYIElGIEVYSVNUUyBUZXN0SW5kZXg7Iik7Ci0gICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJE
Uk9QIFZJRVcgSUYgRVhJU1RTIFRlc3RWaWV3OyIpOwotICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiRFJPUCBUUklHR0VSIElGIEVYSVNUUyBUZXN0VHJpZ2dlcjsiKTsKLSAgICAgICAgfSwgZnVu
Y3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiQ2xlYW51cCBmYWlsZWQiLCBlcnJv
cik7IH0pOwotfQotCi1mdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soc3RhdGVtZW50
VHlwZSkKLXsKLSAgICBsb2coc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IHN1Y2NlZWRlZC4i
KTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjayhzdGF0ZW1lbnRUeXBlLCBl
cnJvcikKLXsKLSAgICBsb2coc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiAr
IGVycm9yLm1lc3NhZ2UpOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotZnVuY3Rpb24gZXhlY3V0
ZVN0YXRlbWVudCh0eCwgc3RhdGVtZW50LCBvcGVyYXRpb24pCi17Ci0gICAgdHguZXhlY3V0ZVNx
bChzdGF0ZW1lbnQsIFtdLAotICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7IHN0
YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhvcGVyYXRpb24pOyB9LAotICAgICAgICAgICAgICAgICAg
ZnVuY3Rpb24odHgsIGVycm9yKSB7IHJldHVybiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKG9wZXJh
dGlvbiwgZXJyb3IpOyB9KTsKLX0KLQotZnVuY3Rpb24gY3JlYXRlVGFibGVDYWxsYmFjayh0eCkK
LXsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRBQkxFIFRlc3QgKEZvbyBpbnQp
OyIsICJTUUxJVEVfQ1JFQVRFX1RBQkxFIik7Ci19Ci0KLWZ1bmN0aW9uIGNyZWF0ZVN0YXRlbWVu
dHNDYWxsYmFjayh0eCkKLXsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIElOREVY
IFRlc3RJbmRleCBPTiBUZXN0IChGb28pOyIsICJTUUxJVEVfQ1JFQVRFX0lOREVYIik7Ci0KLSAg
ICAvLyBFdmVuIHRob3VnaCB0aGUgZm9sbG93aW5nIHF1ZXJ5IHNob3VsZCB0cmlnZ2VyIGEgU1FM
SVRFX0NSRUFURV9URU1QX0lOREVYIG9wZXJhdGlvbgotICAgIC8vIChhY2NvcmRpbmcgdG8gaHR0
cDovL3d3dy5zcWxpdGUub3JnL3RlbXBmaWxlcy5odG1sKSwgaXQgZG9lc24ndCwgYW5kIEknbSBu
b3QgYXdhcmUKLSAgICAvLyBvZiBhbnkgb3RoZXIgd2F5IHRvIHRyaWdnZXIgdGhpcyBvcGVyYXRp
b24uIFNvIHdlJ2xsIHNraXAgaXQgZm9yIG5vdy4KLSAgICAvL2V4ZWN1dGVTdGF0ZW1lbnQodHgs
ICJTRUxFQ1QgKiBGUk9NIFRlc3QgV0hFUkUgRm9vIElOICgxLCAyLCAzKTsiLCAiU1FMSVRFX0NS
RUFURV9URU1QX0lOREVYIik7Ci0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRF
TVAgVEFCTEUgVGVzdFRlbXBUYWJsZSAoRm9vIGludCk7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9U
QUJMRSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVNUCBUUklHR0VSIFRl
c3RUZW1wVHJpZ2dlciBJTlNFUlQgT04gVGVzdCBCRUdJTiBTRUxFQ1QgQ09VTlQoKikgRlJPTSBU
ZXN0OyBFTkQ7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9UUklHR0VSIik7Ci0gICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFZJRVcgVGVzdFRlbXBWaWV3IEFTIFNFTEVDVCBDT1VO
VCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9DUkVBVEVfVEVNUF9WSUVXIik7Ci0gICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBUUklHR0VSIFRlc3RUcmlnZ2VyIElOU0VSVCBPTiBUZXN0
IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IEVORDsiLCAiU1FMSVRFX0NSRUFURV9U
UklHR0VSIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSUVXIFRlc3RWaWV3
IEFTIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9DUkVBVEVfVklFVyIpOwot
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVklSVFVBTCBUQUJMRSBUZXN0VmlydHVh
bFRhYmxlIFVTSU5HIE1pc3NpbmdNb2R1bGU7IiwgIlNRTElURV9DUkVBVEVfVlRBQkxFIik7Ci19
Ci0KLWZ1bmN0aW9uIG90aGVyU3RhdGVtZW50c0NhbGxiYWNrKHR4KQotewotICAgIGV4ZWN1dGVT
dGF0ZW1lbnQodHgsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyIsICJTUUxJVEVfUkVBRCIp
OwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJTRUxFQ1QgQ09VTlQoKikgRlJPTSBUZXN0OyIs
ICJTUUxJVEVfU0VMRUNUIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRFTEVURSBGUk9N
IFRlc3Q7IiwgIlNRTElURV9ERUxFVEUiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiSU5T
RVJUIElOVE8gVGVzdCBWQUxVRVMgKDEpOyIsICJTUUxJVEVfSU5TRVJUIik7Ci0gICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIlVQREFURSBUZXN0IFNFVCBGb28gPSAyIFdIRVJFIEZvbyA9IDE7Iiwg
IlNRTElURV9VUERBVEUiKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUFJBR01BIGNhY2hl
X3NpemU7IiwgIlNRTElURV9QUkFHTUEiKTsKLQotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJB
TFRFUiBUQUJMRSBUZXN0IFJFTkFNRSBUTyBUZXN0VGFibGU7IiwgIlNRTElURV9BTFRFUl9UQUJM
RSIpOwotICAgIC8vIFJlbmFtZSB0aGUgdGFibGUgYmFjayB0byBpdHMgb3JpZ2luYWwgbmFtZQot
ICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJBTFRFUiBUQUJMRSBUZXN0VGFibGUgUkVOQU1FIFRv
IFRlc3Q7IiwgIlNRTElURV9BTFRFUl9UQUJMRSIpOwotCi0gICAgZXhlY3V0ZVN0YXRlbWVudCh0
eCwgIkJFR0lOIFRSQU5TQUNUSU9OOyIsICJTUUxJVEVfVFJBTlNBQ1RJT04iKTsKLSAgICBleGVj
dXRlU3RhdGVtZW50KHR4LCAiQVRUQUNIIG1haW4gQVMgVGVzdE1haW47IiwgIlNRTElURV9BVFRB
Q0giKTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVUQUNIIFRlc3RNYWluOyIsICJTUUxJ
VEVfREVUQUNIIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlJFSU5ERVg7IiwgIlNRTElU
RV9SRUlOREVYIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFOQUxZWkU7IiwgIlNRTElU
RV9BTkFMWVpFIik7Ci0KLSAgICAvLyBTUUxJVEVfRlVOQ1RJT046IGFsbG93ZWQgd3JpdGUgbW9k
ZQotICAgIC8vIFRoZXJlIGlzIG5vIFNRTC9KYXZhc2NyaXB0IEFQSSB0byBhZGQgdXNlci1kZWZp
bmVkIGZ1bmN0aW9ucyB0byBTUUxpdGUsCi0gICAgLy8gc28gd2UgY2Fubm90IHRlc3QgdGhpcyBv
cGVyYXRpb24KLX0KLQotZnVuY3Rpb24gZHJvcFN0YXRlbWVudHNDYWxsYmFjayh0eCkKLXsKLSAg
ICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBJTkRFWCBUZXN0SW5kZXg7IiwgIlNRTElURV9E
Uk9QX0lOREVYIik7Ci0KLSAgICAvLyBTUUxJVEVfRFJPUF9URU1QX0lOREVYOiBhbGxvd2VkIGlu
IHdyaXRlIG1vZGUKLSAgICAvLyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB0ZW1wIGluZGV4
ZXMgYXJlIGF1dG9tYXRpY2FsbHkgZHJvcHBlZCB3aGVuCi0gICAgLy8gdGhlIGRhdGFiYXNlIGlz
IGNsb3NlZCwgYnV0IEhUTUw1IGRvZXNuJ3Qgc3BlY2lmeSBhIGNsb3NlRGF0YWJhc2UoKSBjYWxs
LgotCi0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1AgVEFCTEUgVGVzdFRlbXBUYWJsZTsi
LCAiU1FMSVRFX0RST1BfVEVNUF9UQUJMRSIpOwotICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJE
Uk9QIFRSSUdHRVIgVGVzdFRlbXBUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIi
KTsKLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBWSUVXIFRlc3RUZW1wVmlldzsiLCAi
U1FMSVRFX0RST1BfVEVNUF9WSUVXIik7Ci0gICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRST1Ag
VFJJR0dFUiBUZXN0VHJpZ2dlcjsiLCAiU1FMSVRFX0RST1BfVFJJR0dFUiIpOwotICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFZpZXc7IiwgIlNRTElURV9EUk9QX1ZJRVci
KTsKLQotICAgIC8vIFNRTElURV9EUk9QX1ZUQUJMRTogYWxsb3dlZCBpbiB3cml0ZSBtb2RlCi0g
ICAgLy8gTm90IHN1cmUgaG93IHRvIHRlc3QgdGhpczogd2UgY2Fubm90IGNyZWF0ZSBhIHZpcnR1
YWwgdGFibGUgYmVjYXVzZSB3ZSBkbyBub3QKLSAgICAvLyBoYXZlIFNRTC9KYXZhc2NyaXB0IEFQ
SXMgdG8gcmVnaXN0ZXIgYSBtb2R1bGUgdGhhdCBpbXBsZW1lbnRzIGEgdmlydHVhbCB0YWJsZS4K
LSAgICAvLyBUaGVyZWZvcmUsIHRyeWluZyB0byBkcm9wIGEgdmlydHVhbCB0YWJsZSB3aWxsIGFs
d2F5cyBmYWlsIChubyBzdWNoIHRhYmxlKQotICAgIC8vIGJlZm9yZSBldmVuIGdldHRpbmcgdG8g
dGhlIGF1dGhvcml6ZXIuCi0KLSAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBU
ZXN0OyIsICJTUUxJVEVfRFJPUF9UQUJMRSIpOwotfQotCi1mdW5jdGlvbiB0ZXN0UmVhZFdyaXRl
TW9kZShkYikKLXsKLSAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICAg
ICAgY3JlYXRlVGFibGVDYWxsYmFjayh0eCk7Ci0gICAgICAgICAgICBjcmVhdGVTdGF0ZW1lbnRz
Q2FsbGJhY2sodHgpOwotICAgICAgICAgICAgb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpOwot
ICAgICAgICAgICAgZHJvcFN0YXRlbWVudHNDYWxsYmFjayh0eCk7Ci0gICAgICAgIH0sCi0gICAg
ICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIldyaXRlIHRyYW5zYWN0
aW9uIGZhaWxlZCIsIGVycm9yKTsgfSwKLSAgICAgICAgZnVuY3Rpb24oKSB7IGxvZygiV3JpdGUg
dHJhbnNhY3Rpb24gc3VjY2VlZGVkLiIpOyB9KTsKLX0KLQotZnVuY3Rpb24gdGVzdFJlYWRPbmx5
TW9kZShkYikKLXsKLSAgICAvLyBUZXN0IHRoZSAnQ1JFQVRFIFRBQkxFJyBvcGVyYXRpb247IGl0
IHNob3VsZCBiZSBkaXNhbGxvd2VkCi0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGNyZWF0ZVRhYmxl
Q2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3Qo
IlJlYWQgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKLQot
ICAgIC8vIEluIG9yZGVyIHRvIHRlc3QgYWxsIG90aGVyICdDUkVBVEUnIG9wZXJhdGlvbnMsIHdl
IG11c3QgY3JlYXRlIHRoZSB0YWJsZSBmaXJzdAotICAgIGRiLnRyYW5zYWN0aW9uKGNyZWF0ZVRh
YmxlQ2FsbGJhY2ssCi0gICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRl
c3QoIldyaXRlICdDUkVBVEUgVEFCTEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7
Ci0gICAgZGIucmVhZFRyYW5zYWN0aW9uKGNyZWF0ZVN0YXRlbWVudHNDYWxsYmFjaywKLSAgICAg
ICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnQ1JFQVRFJyB0
cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwotCi0gICAgLy8gSW4gb3JkZXIgdG8gdGVz
dCB0aGUgJ0RST1AnIGFuZCAnb3RoZXInIG9wZXJhdGlvbnMsIHdlIG5lZWQgdG8gZmlyc3QgY3Jl
YXRlIHRoZSByZXNwZWN0aXZlIGVudGl0aWVzCi0gICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlU3Rh
dGVtZW50c0NhbGxiYWNrLAotICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5h
dGVUZXN0KCJXcml0ZSAnQ1JFQVRFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOwot
ICAgIGRiLnJlYWRUcmFuc2FjdGlvbihvdGhlclN0YXRlbWVudHNDYWxsYmFjaywKLSAgICAgICAg
ZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiUmVhZCAnb3RoZXInIHRyYW5z
YWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Ci0KLSAgICAvLyBIYWNrOiBpbnNlcnQgYW4gZW1w
dHkgd3JpdGUgdHJhbnNhY3Rpb24gdG8gZ3VhcmF0ZWUgdGhhdCB0aGVzZSB0cmFuc2FjdGlvbnMg
YXJlIGV4ZWN1dGVkIHNlcXVlbnRpYWxseQotICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KSB7IH0pOwotICAgIGRiLnJlYWRUcmFuc2FjdGlvbihkcm9wU3RhdGVtZW50c0NhbGxiYWNrLAot
ICAgICAgICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdEUk9Q
JyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0sCi0gICAgICAgIGZ1bmN0aW9uKCkgeyBs
b2coIlJlYWQgdHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4iKTsgdGVybWluYXRlVGVzdCgpOyB9KTsK
LX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlV2l0
aFN1ZmZpeCgiQXV0aG9yaXplclRlc3QiLCAiMS4wIiwgIlRlc3RzIHRoZSBkYXRhYmFzZSBhdXRo
b3JpemVyLiIsIDMyNzY4KTsKLSAgICBjbGVhbnVwKGRiKTsKLSAgICB0ZXN0UmVhZFdyaXRlTW9k
ZShkYik7Ci0gICAgdGVzdFJlYWRPbmx5TW9kZShkYik7Ci19CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlv
bi1jcmFzaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4OGM3
NDI2MDVlMzRkZGI5ODhlODkzM2MzNGUwNDNhMzNhYzI0ZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlv
bi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEsMiArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IFRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvcgot
SWYgV2ViS2l0IGRvZXNuJ3QgY3Jhc2gsIHRoaXMgdGVzdCBoYXMgcGFzc2VkCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFz
aC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRp
b24tY3Jhc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJjYzczMmJiOGYy
YjUzZWNiNDQ4MWE3OTk3NWUyY2NmNzFjY2RjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWV4Y2VwdGlvbi1jcmFzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAot
PGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRl
c3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotdmFyIGRiID0gb3BlbkRhdGFiYXNl
KCIxNTk3NlRlc3QiLCAiMS4wIiwgIlRlc3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1OTc2IiwgMSk7Ci1kYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewot
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICB3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0sIDAp
OwotICAgdGhyb3cgIlRyYW5zYWN0aW9uQ2FsbGJhY2tFcnJvciI7Ci19KTsKLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci1JZiBXZWJLaXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBw
YXNzZWQKLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
dHJhbnNhY3Rpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZjQ3NGY3YmM2ZWE3OGE5MjE3
Yjk4ZDA4YjliMjVhNzEyZWZlNGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUFM
RVJUOiB1bmRlZmluZWQKLUFMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGlu
IGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgotVGhpcyB0ZXN0IHRlc3RzIHRoYXQg
dGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCi0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgy
NWQ3MDAzNDA0Mjg0NmVmZDRkMWQ5NTgzYjcyZTJlNTk1MmJiYS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0
aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMg
dGhhdCB0aGUgdHJhbnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3Js
ZC4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdD4KLXZhciB0cmFuc2FjdGlvbkNh
bGxiYWNrc0ludm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3RyYW5z
YWN0aW9uQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfQotCi1m
dW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMSh0eCkKLXsKLSAgICBhbGVydCgiRkFJTDogVmlz
aWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKLSAgICBkb25lKCk7Ci19Ci0KLWZ1bmN0aW9uIHRy
YW5zYWN0aW9uQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsK
LSAgICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJv
ZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50LmJvZHkuYmFyID0g
IlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGlu
IHRoaXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0gICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNv
bGF0ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIHRyYW5zYWN0aW9uQ2Fs
bGJhY2sxKHR4KVxuIiArCi0gICAgICAgICJ7XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1
bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAgICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFz
Y3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAgICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0g
b3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywg
JycsIDEpO1xuIiArCi0gICAgICAgICJkYjEudHJhbnNhY3Rpb24odHJhbnNhY3Rpb25DYWxsYmFj
azEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxsYmFj
a0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAxKTsKLSAgICBkYjIudHJhbnNhY3Rpb24odHJh
bnNhY3Rpb25DYWxsYmFjazIpOwotfQotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZmIzM2JkOWFi
N2QwNzdjNWRkNjNjMDA3OThlM2Q2NzUwMDlmMzE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmplY3QgT2JqZWN0XQotQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDYzOiBbb2JqZWN0IE9iamVjdF0KLVRoaXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVz
cyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9u
IGZhaWx1cmUuCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3Ig
Y2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUNDRVNTCi1UZXN0aW5nIHRyYW5zYWN0aW9uIGZh
aWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUwot
VGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhyb3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBj
YWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NFU1MKLVRlc3Rpbmcgc3RhdGVtZW50IGNhbGxi
YWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNl
IDogU1VDQ0VTUwotQWxsIFRlc3RzIGFyZSBjb21wbGV0ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZGExNTM5NjY3OGQ5ZWJmMzE1MmQ4ZTljODRkM2MxNGNiNGU5ZjI3NS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotQUxFUlQ6IHVuZGVmaW5lZAotQUxFUlQ6IFBB
U1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRo
aXMgd29ybGQuCi1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2Fs
bGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29s
YXRlZC13b3JsZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjE4OTRkMmVh
Mjc1OGFlOTFmOTczOWE3YjU1NWQ1YzZlMzJkY2IxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJy
b3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDUyICsw
LDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08Ym9keT4KLVRoaXMgdGVzdCB0ZXN0cyB0
aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0
IHdvcmxkLgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5zYWN0
aW9uRXJyb3JDYWxsYmFja3NJbnZva2VkID0gMDsKLWZ1bmN0aW9uIGRvbmUoKQotewotICAgIGlm
ICgoKyt0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9PSAyKSAmJiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSkKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOwotfQotCi1mdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KQotewot
ICAgIGFsZXJ0KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUo
KTsKLX0KLQotZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMih0eCkKLXsKLSAgICBh
bGVydChkb2N1bWVudC5ib2R5LmJhcik7Ci0gICAgZG9uZSgpOwotfQotCi1kb2N1bWVudC5ib2R5
LmZvbyA9ICJGQUlMOiBkb2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxk
LiI7Ci1kb2N1bWVudC5ib2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxl
IGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7Ci0KLWlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERh
dGFiYXNlcygpOwotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLSAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Ci0gICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoCi0gICAgICAgIDAsCi0gICAgICAg
ICJmdW5jdGlvbiB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKHR4KVxuIiArCi0gICAgICAgICJ7
XG4iICsKLSAgICAgICAgIiAgICBhbGVydChkb2N1bWVudC5ib2R5LmZvbyk7XG4iICsKLSAgICAg
ICAgIiAgICB3aW5kb3cubG9jYXRpb249J2phdmFzY3JpcHQ6ZG9uZSgpJztcbiIgKwotICAgICAg
ICAifVxuIiArCi0gICAgICAgICJ2YXIgZGIxID0gb3BlbkRhdGFiYXNlKCdUcmFuc2FjdGlvbkVy
cm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAg
ImRiMS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkge1xuIiArCi0gICAgICAgICIgICAgdHguZXhl
Y3V0ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1bmN0
aW9uKHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7XG4iICsKLSAgICAgICAgIn0sIHRyYW5z
YWN0aW9uRXJyb3JDYWxsYmFjazEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgn
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOwot
ICAgIGRiMi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgewotICAgICAgICB0eC5leGVjdXRlU3Fs
KCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgZnVuY3Rpb24odHgs
IGVycm9yKSB7IHJldHVybiB0cnVlOyB9KTsKLSAgICB9LCB0cmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2syKTsKLX0KLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5odG1sCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA5MGIyZWQwMzRmZDk1YTdiYWU1MmEwODZlOWEyZWU1ZWJjZGVmNzcy
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2suaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDEwNSArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLQotZnVuY3Rpb24g
bG9nKG1lc3NhZ2UpCi17Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5p
bm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKLX0KLQotLy8gc2lnbmFsIHRvIGxheW91dFRl
c3RDb250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHplcm8uCi12YXIgdGVzdENvdW50ID0gNDsK
LS8vIHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0aGUgbnVtYmVyIG9mIHJvd3MgYWxyZWFk
eSBpbiBvdXIgdGVzdCBkYXRhYmFzZS4KLS8vIG91ciBnb2FsIGlzIHRvIGtlZXAgdGhlIG51bWJl
ciB1bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCi12YXIgaW5pdGlhbFJvd0NvdW50ID0gMDsK
LXZhciBkYXRhYmFzZTsKLXZhciBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQ7Ci0KLWZ1bmN0aW9uIGZp
bmlzaFRlc3QoKQotewotICAgIGlmICgtLXRlc3RDb3VudCkKLSAgICAgICAgcmV0dXJuOwotCi0g
ICAgbG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIpOwotCi0gICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOwotfQotCi1mdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2soKQotewotICAgIHN1Y2Nlc3NDYWxs
YmFja0NhbGxlZCA9IHRydWU7Ci19Ci0KLWZ1bmN0aW9uIHZlcmlmeVN1Y2Nlc3MobXNnKQotewot
ICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50IEZST00gRXJyb3JDYWxsYmFja1Rl
c3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQotICAgICAgICB7Ci0gICAgICAgICAgICBsb2cobXNn
ICsgIiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50ID09IGluaXRpYWxSb3dDb3VudCAmJiAh
c3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1MiIDogIkZBSUxVUkUiKSk7Ci0gICAgICAg
ICAgICBmaW5pc2hUZXN0KCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotCi1mdW5jdGlvbiBm
YWlsTWlkV2F5KGVycm9yQ2FsbGJhY2spCi17Ci0gICAgc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID0g
ZmFsc2U7Ci0gICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpCi0gICAgewotICAg
ICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBFcnJvckNhbGxiYWNrVGVzdChzb21lVmFs
dWUpIFZBTFVFUyg/KTsiLCBbIDEgXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIk1VVFRFUiBT
T01FVEhJTkcgSUxMRUdJQkxFIik7Ci0gICAgfSwgZXJyb3JDYWxsYmFjaywgc3VjY2Vzc0NhbGxi
YWNrKTsKLX0KLQotZnVuY3Rpb24gc3RhdGVtZW50Q2FsbGJhY2tUaHJvd3NFeGNlcHRpb24oZXJy
b3JDYWxsYmFjaykKLXsKLSAgICBzdWNjZXNzQ2FsbGJhY2tDYWxsZWQgPSBmYWxzZTsKLSAgICBk
YXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKLSAgICB7Ci0gICAgICAgIHR4LmV4ZWN1
dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0KHNvbWVWYWx1ZSkgVkFMVUVTKD8p
OyIsIFsgMSBdLCBmdW5jdGlvbigpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRocm93IHt9Owot
ICAgICAgICB9KTsKLSAgICB9KTsKLX0KLQotZnVuY3Rpb24gcnVuVGVzdCgpCi17Ci0gICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5jbGVhckFsbERhdGFiYXNlcygpOwotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Ci0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUo
KTsKLSAgICB9Ci0KLSAgICBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiRXJyb3JDYWxsYmFja0Rh
dGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBjYWxsYmFjayIsIDEpOwotICAgIGRhdGFi
YXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQotICAgIHsKLSAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJyb3JDYWxsYmFja1Rlc3QgKHNvbWVWYWx1
ZSkiLCBbXSk7Ci0gICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBjb3VudCgqKSBBUyBjb3Vu
dCBGUk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1bmN0aW9uKHR4LCBycykKLSAgICAgICAg
ewotICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0gcnMucm93cy5pdGVtKDApLmNvdW50Owot
ICAgICAgICB9KTsKLSAgICB9KTsKLQotICAgIGZhaWxNaWRXYXkoZnVuY3Rpb24oKSB7IHJldHVy
biB0cnVlOyB9KTsKLSAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxp
bmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKLSAgICBmYWls
TWlkV2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3Mo
IlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5IGFuZCBlcnJvciBjYWxsYmFjayBy
ZXR1cm4gZmFsc2UiKTsKLSAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihmdW5j
dGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOwotICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3Rpbmcgc3Rh
dGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0
dXJuaW5nIHRydWUiKTsKLSAgICBzdGF0ZW1lbnRDYWxsYmFja1Rocm93c0V4Y2VwdGlvbihmdW5j
dGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKLSAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0aW5nIHN0
YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24gYW5kIGVycm9yIGNhbGxiYWNrIHJl
dHVybmluZyBmYWxzZSIpOwotfQotCi08L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgotVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQgPGNvZGU+U1FMVHJhbnNhY3Rp
b25FcnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVz
cyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9u
IGZhaWx1cmUuCi08cHJlIGlkPSJjb25zb2xlIj4KLTwvcHJlPgotPC9ib2R5PgotCi08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQyN2Y0YWNlNzM4MzNiNWU2ZWM0Njg2YWZl
NzA1OTY0M2JmMWQ4Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi1B
TEVSVDogdW5kZWZpbmVkCi1BTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBp
biBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KLVRoaXMgdGVzdCB0ZXN0cyB0aGF0
IHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQg
d29ybGQuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvdHJhbnNhY3Rpb24tc3Vj
Y2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS90
cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhMmRmOTRiMzRhZDU4NmI0MDc2MzQyMGMwYzcwMzY5M2Qy
MTc4MmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdv
cmxkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGJvZHk+Ci1UaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gc3Vj
Y2VzcyBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgotPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+Ci08c2NyaXB0PgotdmFyIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrc0lu
dm9rZWQgPSAwOwotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKCgrK3RyYW5zYWN0aW9uU3Vj
Y2Vzc0NhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikpCi0gICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLX0KLQotZnVu
Y3Rpb24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sxKHR4KQotewotICAgIGFsZXJ0KCJGQUlM
OiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOwotICAgIGRvbmUoKTsKLX0KLQotZnVuY3Rp
b24gdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2syKHR4KQotewotICAgIGFsZXJ0KGRvY3VtZW50
LmJvZHkuYmFyKTsKLSAgICBkb25lKCk7Ci19Ci0KLWRvY3VtZW50LmJvZHkuZm9vID0gIkZBSUw6
IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsKLWRvY3VtZW50
LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxsYmFj
ayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgewotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7Ci0g
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ldmFsdWF0
ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKLSAgICAgICAgMCwKLSAgICAgICAgImZ1bmN0aW9uIHRy
YW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eClcbiIgKwotICAgICAgICAie1xuIiArCi0gICAg
ICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCi0gICAgICAgICIgICAgd2lu
ZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKLSAgICAgICAgIn1cbiIgKwot
ICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJh
Y2tJc29sYXRlZFdvcmxkMScsICcxLjAnLCAnJywgMSk7XG4iICsKLSAgICAgICAgImRiMS50cmFu
c2FjdGlvbihmdW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFj
azEpOyIpOwotCi0gICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25TdWNjZXNz
Q2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7Ci0gICAgZGIyLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7IH0sIG51bGwsIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMik7
Ci19Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
OTM5ZTM2NTBjNTU3M2ZiOWY4ZGQwNzZlZGMyMTkyZjk4N2Y3MWVlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIEpTIGRhdGFiYXNl
LmNoYW5nZVZlcnNpb24oKSBmdW5jdGlvbiB3b3JrcyBhcyBleHBlY3RlZC4KK0ZpbmlzaGVkIHRl
c3RzIHdpdGggdmVyc2lvbiAzOyBleHBlY3RlZCB2ZXJzaW9uOiAzCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLWhh
bmRsZS1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFu
Z2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmNzY0ODFi
MzRlYzI4NTYxZGUwMjcyMzRjNTk3ZjllNGY4OWExNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGhpcyB0ZXN0cyB0aGF0IGEgZGF0YWJhc2UgY2FuIGJl
IGFjY2Vzc2VkIGFmdGVyIGNoYW5naW5nIGl0cyB2ZXJzaW9uLiBZb3Ugc2hvdWxkIHNlZSBhbiBl
cnJvciBhYm91dCBGb29CYXIgdGFibGUgYmVsb3csIG5vdCBhYm91dCBtaXNtYXRjaGluZyB2ZXJz
aW9ucy4KK2NoYW5nZVZlcnNpb246IHRyYW5zYWN0aW9uIGNhbGxiYWNrCitjaGFuZ2VWZXJzaW9u
OiBzdWNjZXNzIGNhbGxiYWNrCit0cmFuc2FjdGlvbjogc3RhdGVtZW50IGVycm9yIGNhbGxiYWNr
OiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogRm9vQmFyKQor
VEVTVCBDT01QTEVURS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
Y2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjNmYmY0
ODRkN2E4NWEzNDkwYjUxNWI3MDg5NTQ0YWVlMDg2ZmExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmh0bWwK
QEAgLTAsMCArMSwxMiBAQAorPGh0bWw+IAorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iY2hhbmdlLXZlcnNp
b24taGFuZGxlLXJldXNlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4gCis8Ym9keSBvbmxvYWQ9InNl
dHVwQW5kUnVuVGVzdCgpIj4gCis8ZGl2PlRoaXMgdGVzdHMgdGhhdCBhIGRhdGFiYXNlIGNhbiBi
ZSBhY2Nlc3NlZCBhZnRlciBjaGFuZ2luZyBpdHMgdmVyc2lvbi4gWW91IHNob3VsZCBzZWUgYW4g
ZXJyb3IgYWJvdXQgRm9vQmFyIHRhYmxlIGJlbG93LCBub3QgYWJvdXQgbWlzbWF0Y2hpbmcgdmVy
c2lvbnMuCis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8
L3ByZT4gCis8L2JvZHk+IAorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24taGFuZGxlLXJldXNlLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg0
N2E1OGMzYjkxZmYyYzUwODBmMmM5MjBhNWQ0MWFiY2I1Y2UyYTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1oYW5kbGUtcmV1c2Uu
anMKQEAgLTAsMCArMSw0NiBAQAorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9nKCJU
RVNUIENPTVBMRVRFLiIpOworCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlv
biBydW5UZXN0KCkKK3sKKyAgICB0cnkgeworICAgICAgICBkYiA9IG9wZW5EYXRhYmFzZVdpdGhT
dWZmaXgoIkNoYW5nZVZlcnNpb24iLCAiIiwgIlRlc3QgdGhhdCBjaGFuZ2luZyBhIGRhdGFiYXNl
IHZlcnNpb24gZG9lc24ndCBraWxsIG91ciBoYW5kbGUgdG8gaXQiLCAxKTsKKyAgICAgICAgdmFy
IHZlcnNpb24gPSBkYi52ZXJzaW9uOworICAgICAgICB2YXIgbmV3VmVyc2lvbiA9IHZlcnNpb24g
PyAocGFyc2VJbnQodmVyc2lvbikgKyAxKS50b1N0cmluZygpIDogIjEiOyAKKyAgICAgICAgZGIu
Y2hhbmdlVmVyc2lvbih2ZXJzaW9uLCBuZXdWZXJzaW9uLCBmdW5jdGlvbih0eCkgeworICAgICAg
ICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiB0cmFuc2FjdGlvbiBjYWxsYmFjayIpOworICAgICAg
ICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uOiBl
cnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICB9LCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIGxvZygiY2hhbmdlVmVyc2lvbjogc3VjY2VzcyBjYWxsYmFjayIpOwor
ICAgICAgICAgICAgcnVuVGVzdDIoKTsKKyAgICAgICAgfSk7CisgICAgICAgIAorICAgIH0gY2F0
Y2ggKGUpIHsKKyAgICAgICAgbG9nKCJjaGFuZ2VWZXJzaW9uIGV4Y2VwdGlvbjogIiArIGUpOwor
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorIAorZnVuY3Rpb24gcnVuVGVzdDIoKQor
eworICAgIHRyeSB7CisgICAgICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAg
ICAgICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBmcm9tIEZvb0JhciIsIFtdLCBmdW5jdGlv
bih0eCkgeworICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0YXRlbWVudCBjYWxs
YmFjayIpOworICAgICAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIH0sIGZ1
bmN0aW9uKHR4LCBlcnJvcikgeworICAgICAgICAgICAgICAgIGxvZygidHJhbnNhY3Rpb246IHN0
YXRlbWVudCBlcnJvciBjYWxsYmFjazogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGxvZygidHJhbnNhY3Rpb24gZXhjZXB0aW9uOiAiICsgZSk7Cisg
ICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVy
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lv
bi1uby1jcmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmIwZDU0OWNiMGNkNDdkZmE4NjYxZTZlNmM1OTg5MDQzYjk5YzMzMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLW5vLWNyYXNoLW9u
LXByZWZsaWdodC1mYWlsdXJlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJz
aW9uKCkncyBwcmVmbGlnaHQgc3RlcCBmYWlscy4KK1BBU1M6IGRiLmNoYW5nZVZlcnNpb24oKSBm
YWlsZWQgYXMgZXhwZWN0ZWQsIGFuZCBubyBhc3NlcnRpb25zIHdlcmUgdHJpZ2dlcmVkLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jaGFuZ2UtdmVyc2lvbi1uby1j
cmFzaC1vbi1wcmVmbGlnaHQtZmFpbHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvY2hhbmdlLXZlcnNpb24tbm8tY3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yYTUxMmZiOWFjOTFkZmI0ZGEyYzhmMmU4MzZkYmM1MDg3NjU5MTIwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZlcnNpb24tbm8t
Y3Jhc2gtb24tcHJlZmxpZ2h0LWZhaWx1cmUuaHRtbApAQCAtMCwwICsxLDM2IEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9
CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2
YXIgZGIgPSB3aW5kb3cub3BlbkRhdGFiYXNlKCJDaGFuZ2VWZXJzaW9uRmFpbHVyZVRlc3QiLCAi
MSIsICJUZXN0IHRoZSBwcmVmbGlnaHQgc3RlcCIsIDEwMjQpOworICAgIGRiLmNoYW5nZVZlcnNp
b24oIjIiLCAiMyIsIG51bGwsIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgIGxvZygiUEFTUzog
ZGIuY2hhbmdlVmVyc2lvbigpIGZhaWxlZCBhcyBleHBlY3RlZCwgYW5kIG5vIGFzc2VydGlvbnMg
d2VyZSB0cmlnZ2VyZWQuIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9LCBmdW5jdGlv
bigpIHsKKyAgICAgICAgbG9nKCJGQUlMOiBkYi5jaGFuZ2VWZXJzaW9uKCkgd2FzIGV4cGVjdGVk
IHRvIGZhaWwuIik7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KK1RoaXMgdGVzdCB2ZXJpZmll
cyB0aGF0IG5vIGFzc2VydGlvbiBpcyB0cmlnZ2VyZWQgd2hlbiBjaGFuZ2VWZXJzaW9uKCkncyBw
cmVmbGlnaHQgc3RlcCBmYWlscy4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2hhbmdlLXZl
cnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJzaW9uLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzliYjlkZjU4OGI5NGNkZGMwM2IyZjc5YWM5YWE0ZjA2NjQ2Yjk1YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2NoYW5nZS12ZXJz
aW9uLmh0bWwKQEAgLTAsMCArMSwxMDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGVzdCBk
YXRhYmFzZS5jaGFuZ2VWZXJzaW9uPC90aXRsZT4KKzxzY3JpcHQ+Cit2YXIgZGIxOwordmFyIEVY
UEVDVEVEX1ZFUlNJT05fQUZURVJfSElYSUVfVEVTVCA9ICcyJzsKK3ZhciBFWFBFQ1RFRF9WRVJT
SU9OX0FGVEVSX1JFTE9BRCA9ICczJzsKKworZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHsgfQor
CitmdW5jdGlvbiBjaGFuZ2VWZXJzaW9uQ2FsbGJhY2sodHgpCit7CisgICAgdHguZXhlY3V0ZVNx
bCgiRFJPUCB0YWJsZSBpZiBleGlzdHMgaW5mbzsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlG
dW5jdGlvbik7CisgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIHRhYmxlIGlmIG5vdCBleGlzdHMg
aW5mbyAodmVyc2lvbiBJTlRFR0VSKTsiLCBbXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlv
bik7CisgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIGludG8gaW5mbyB2YWx1ZXMoPyk7IiwgW0VY
UEVDVEVEX1ZFUlNJT05fQUZURVJfUkVMT0FEXSwgZW1wdHlGdW5jdGlvbiwgZW1wdHlGdW5jdGlv
bik7Cit9CisKK2Z1bmN0aW9uIGNoYW5nZVZlcnNpb25TdWNjZXNzKCkKK3sKKyAgICBsb2coIlN1
Y2Nlc3NmdWxseSBjaGFuZ2VkIHZlcnNpb24gdG8gIiArIGRiMS52ZXJzaW9uICsgIi4gUmVsb2Fk
aW5nLiIpOworICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uICsgJz8y
JzsKK30KKworZnVuY3Rpb24gY2hhbmdlVmVyc2lvbkVycm9yKGVycm9yKQoreworICAgIGxvZygi
RXJyb3I6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0
aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICBsb2coIlRF
U1QgQ09NUExFVEUiKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7
Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2Vh
cmNoID09ICI/MiIpIHsKKyAgICAgICAgZGIxID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdl
dmVyc2lvbi10ZXN0IiwgIiIsICJUZXN0IGZvciB0aGUgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigp
IGZ1bmN0aW9uIiwgMTAyNCk7CisgICAgICAgIGxvZygiRmluaXNoZWQgdGVzdHMgd2l0aCB2ZXJz
aW9uICIgKyBkYjEudmVyc2lvbiArICI7IGV4cGVjdGVkIHZlcnNpb246ICIgKyBFWFBFQ1RFRF9W
RVJTSU9OX0FGVEVSX1JFTE9BRCk7CisKKyAgICAgICAgLy8gUmVzZXQgdGhlIERCIHZlcnNpb24g
b3IgdGhlIG5leHQgcnVuIG1pZ2h0IGZhaWwuCisgICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKGRi
MS52ZXJzaW9uLCAiMSIpOworCisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgdGVzdFBhcnQxKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RQYXJ0MSgpIHsKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworICAgIH0KKworICAgIGRiMSA9IHdpbmRvdy5vcGVuRGF0YWJhc2UoImNoYW5nZXZlcnNpb24t
dGVzdCIsICIxIiwgIlRlc3QgZm9yIHRoZSBkYXRhYmFzZS5jaGFuZ2VWZXJzaW9uKCkgZnVuY3Rp
b24iLCAxMDI0KTsKKyAgICB2YXIgZGIyID0gd2luZG93Lm9wZW5EYXRhYmFzZSgiY2hhbmdldmVy
c2lvbi10ZXN0IiwgIjEiLCAiVGVzdCBmb3IgdGhlIGRhdGFiYXNlLmNoYW5nZVZlcnNpb24oKSBm
dW5jdGlvbiIsIDEwMjQpOworCisgICAgLy8gRmlyc3QgcnVuIEhpeGllJ3MgdGVzdCB0byBlbnN1
cmUgYmFzaWMgY2hhbmdlVmVyc2lvbiBmdW5jdGlvbmFsaXR5IHdvcmtzIChzZWUgYnVnIDI4NDE4
KS4KKyAgICBkYjEuY2hhbmdlVmVyc2lvbigiMSIsIEVYUEVDVEVEX1ZFUlNJT05fQUZURVJfSElY
SUVfVEVTVCwgbnVsbCwgZnVuY3Rpb24gKGUpIHsKKyAgICAgICAgbG9nKCJGQUlMIGluIGNoYW5n
ZVZlcnNpb246IiArIGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSwgZnVuY3Rpb24g
KCkgeworICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHZlcnNpb24gY2hhbmdlIGhhcyBwcm9wYWdh
dGVkIHRvIGRiMiB0b28uCisgICAgICAgIC8vIEFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNob3Vs
ZCBmYWlsLgorICAgICAgICBpZiAoZGIyLnZlcnNpb24gIT0gZGIxLnZlcnNpb24pIHsKKyAgICAg
ICAgICAgIGxvZygiRkFJTDogY2hhbmdpbmcgZGIxJ3MgdmVyc2lvbiAoIiArIGRiMS52ZXJzaW9u
ICsgIikgZGlkIG5vdCBjaGFuZ2UgZGIyJ3MgdmVyc2lvbiAoIiArIGRiMi52ZXJzaW9uICsgIikg
YXMgZXhwZWN0ZWQuIik7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAg
ICAgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIElOVCkiKTsKKyAgICAg
ICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBsb2co
IkZBSUw6IFRoZSBEQiB2ZXJzaW9uIGNoYW5nZWQsIGFsbCB0cmFuc2FjdGlvbnMgb24gZGIyIHNo
b3VsZCBmYWlsLiIpOworICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgICAgICB9KTsKKwor
ICAgICAgICAvLyBNYWtlIHN1cmUgYW55IG5ldyBoYW5kbGUgdG8gdGhlIHNhbWUgREIgc2VlcyB0
aGUgbmV3IHZlcnNpb24KKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBkYjMgPSBvcGVu
RGF0YWJhc2UoImNoYW5nZS12ZXJzaW9uLXRlc3QiLCBFWFBFQ1RFRF9WRVJTSU9OX0FGVEVSX0hJ
WElFX1RFU1QsICIiLCAwKTsKKyAgICAgICAgfSBjYXRjaCAoZSkgeworICAgICAgICAgICAgbG9n
KCJGQUlMIGluIG9wZW5EYXRhYmFzZTogIiArIGUpOworICAgICAgICAgICAgZmluaXNoVGVzdCgp
OworICAgICAgICB9CisgICAgICAgIGlmIChkYjEudmVyc2lvbiAhPSBkYjMudmVyc2lvbikgewor
ICAgICAgICAgICAgbG9nKCJGQUlMOiBkYi52ZXJzaW9uKCIgKyBkYjEudmVyc2lvbiArICIpIGRv
ZXMgbm90IG1hdGNoIGRiMy52ZXJzaW9uKCIgKyBkYjMudmVyc2lvbiArIikiKTsKKyAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIE5vdyB0cnkgYSB0ZXN0
IHRvIGVuc3VyZSB0aGUgdmVyc2lvbiBwZXJzaXN0cyBhZnRlciByZWxvYWRpbmcgKHNlZSBidWcg
Mjc4MzYpCisgICAgICAgIGRiMS5jaGFuZ2VWZXJzaW9uKEVYUEVDVEVEX1ZFUlNJT05fQUZURVJf
SElYSUVfVEVTVCwgRVhQRUNURURfVkVSU0lPTl9BRlRFUl9SRUxPQUQsIGNoYW5nZVZlcnNpb25D
YWxsYmFjaywgY2hhbmdlVmVyc2lvbkVycm9yLCBjaGFuZ2VWZXJzaW9uU3VjY2Vzcyk7CisgICAg
fSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+CitU
aGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgSlMgZGF0YWJhc2UuY2hhbmdlVmVyc2lvbigpIGZ1
bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkLgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9jbG9z
ZS1kdXJpbmctc3RyZXNzLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
YWFkOTBjMTYyOWU1MGIwZTYwNTJjZjhiNmU0N2UxM2UxMDFjMDIyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVzcy10ZXN0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Nob3VsZCBub3QgY3Jhc2ggb3IgY2F1c2UgYW4g
YXNzZXJ0aW9uIGZhaWx1cmUuCisKK0EgSmF2YVNjcmlwdCBmYWlsdXJlIG9uIHRoZSBjb25zb2xl
IGlzIGV4cGVjdGVkLCBob3dldmVyLCBhcyB0aGUgZ2xvYmFsIG9iamVjdCBpcyBjbGVhcmVkIHdo
ZW4gY2xvc2luZyBhIGZyYW1lLiBJdCBhY3R1YWxseSBoZWxwcyB0byBjYXVzZSBkYXRhYmFzZSBh
Y3Rpdml0eSBieSB0aHJvd2luZyBhbiBleGNlcHRpb24gZnJvbSBhIGNhbGxiYWNrLgorCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Nsb3NlLWR1cmluZy1zdHJlc3Mt
dGVzdC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvY2xvc2UtZHVyaW5nLXN0cmVz
cy10ZXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWNjNTJmZDk1NTBkOTllNDRhYjg2MzBmYzY3MDJlZDk0
Mjg4NTdlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2Ns
b3NlLWR1cmluZy1zdHJlc3MtdGVzdC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzxib2R5PgorPHA+
U2hvdWxkIG5vdCBjcmFzaCBvciBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS48L3A+Cis8cD5B
IEphdmFTY3JpcHQgZmFpbHVyZSBvbiB0aGUgY29uc29sZSBpcyBleHBlY3RlZCwgaG93ZXZlciwg
YXMgdGhlIGdsb2JhbCBvYmplY3QgaXMgY2xlYXJlZCB3aGVuIGNsb3NpbmcgYSBmcmFtZS4KK0l0
IGFjdHVhbGx5IGhlbHBzIHRvIGNhdXNlIGRhdGFiYXNlIGFjdGl2aXR5IGJ5IHRocm93aW5nIGFu
IGV4Y2VwdGlvbiBmcm9tIGEgY2FsbGJhY2suPC9wPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworfQorCitmdW5j
dGlvbiBzdGFydFRlc3QoKQoreworICAgIHNldFRpbWVvdXQoImRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdpZnJhbWUnKVswXS5zcmMgPSAnYWJvdXQ6YmxhbmsnIiwgMTAwKTsKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBzZXRUaW1lb3V0KCJsYXlv
dXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCA1MDApOworfQorPC9zY3JpcHQ+Cis8aWZy
YW1lIHNyYz0icmVzb3VyY2VzL3N0cmVzcy1mcmFtZS5odG1sIiBvbmxvYWQ9InN0YXJ0VGVzdCgp
Ij48L2lmcmFtZT4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yNzI5NTYzYWI4MDhjYjNkYmVkNzcyNTJlN2U0MDIxMmI1MGNkMzIyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1h
ZnRlci1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorSW5zZXJ0aW5nIHNvbWUg
ZGF0YQorVGVzdCBwYXJ0IDIgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2FkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWI1OTg5Zjc4MDI1N2NmZDNiYTQ5OTk1ODVlNGU1NzY1MjEyYjE1MAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVs
b2FkLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hU
ZXN0KCkKK3sKKyAgICBsb2coIlRlc3QgcGFydCAxIENvbXBsZXRlIik7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBlcnJvckZ1bmN0aW9uKGVycm9yKQoreworICAgIGxv
ZygiVGVzdCBmYWlsZWQgLSAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgZmluaXNoVGVzdCgpOwor
fQorCitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOworICAgICAgICAvLyBM
b2FkIGEgbmV3IHBhZ2Ugd2hpbGUgdGhlIHRyYW5zYWN0aW9uIGlzIHN0aWxsIGluIHByb2dyZXNz
LCBpbnRlcnJ1cHRpbmcgdGhlIHRyYW5zYWN0aW9uLgorICAgICAgICAvLyBUaGlzIHNob3VsZCBu
b3QgbGVhdmUgdGhlIGRhdGFiYXNlIGxvY2tlZCBhbmQgb24gdGhlIG5leHQgcGFnZSB3ZSBzaG91
bGQgYmUgYWJsZSB0byBpbnNlcnQKKyAgICAgICAgLy8gc29tZSBtb3JlIGRhdGEuCisgICAgICAg
IHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERhdGFUZXN0ICh0ZXN0RGF0YSkgVkFMVUVTICha
RVJPQkxPQig1MjQyMDApKSIsIFtdLAorICAgICAgICAgICAgZnVuY3Rpb24odHgsIHJlc3VsdCkg
eyBsb2NhdGlvbi5ocmVmID0gIi4vcmVzb3VyY2VzL2RhdGFiYXNlLWxvY2stYWZ0ZXItcmVsb2Fk
LTIuaHRtbCI7IH0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgZXJyb3JGdW5j
dGlvbihlcnJvcik7IH0pOworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRh
VGVzdCAodGVzdERhdGEpIFZBTFVFUyAoWkVST0JMT0IoNTI0MjAwKSkiKTsKKyAgICB9LCBlcnJv
ckZ1bmN0aW9uLCBmdW5jdGlvbigpIHsgZmluaXNoVGVzdCgpOyB9KTsKK30KKworZnVuY3Rpb24g
cnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIgZGF0YWJhc2U7CisgICAg
dHJ5IHsKKyAgICAgICAgZGF0YWJhc2UgPSBvcGVuRGF0YWJhc2UoIkRhdGFiYXNlTG9ja1Rlc3Qi
LCAiMS4wIiwgIlRlc3QgZm9yIGRhdGFiYXNlIGxvY2tpbmciLCA1MjQyODgwKTsKKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGxvZygiRXJyb3IgLSBjb3VsZCBub3Qgb3BlbiBkYXRhYmFzZSIp
OworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorCisgICAgZGF0YWJhc2UudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgbG9nKCJBZGRpbmcgYSB0YWJsZSIpOworICAgICAg
ICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgRGF0YVRlc3QgKHRlc3REYXRhKSIsIFtdLCBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sCisgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3Ip
IHsgZXJyb3JGdW5jdGlvbihlcnJvcik7IH0pOworICAgIH0sIGVycm9yRnVuY3Rpb24sIGZ1bmN0
aW9uKCkgeyBhZGREYXRhKGRhdGFiYXNlKTsgfSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgor
PC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9lbXB0eS1zdGF0ZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OGQ5ZGNhNGUyNzM1
MzRkYjNkODMzYjY5OTk1MGRjYjE1MTg0YWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIgQEAKK0V4ZWN1dGVkIGFuIGVtcHR5IHN0YXRlbWVudC4gSWYgeW91IGRpZG4ndCBzZWUgYSBj
cmFzaCBvciBhc3NlcnRpb24sIHRoZSB0ZXN0IHBhc3NlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9lbXB0eS1zdGF0ZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmVjNWI4Y2Fj
NWU0YTU4MjYwODc2YmI1MzlmYjhiYWI2MDRjZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvZW1wdHktc3RhdGVtZW50Lmh0bWwKQEAgLTAsMCArMSwzNiBA
QAorPGh0bWw+CisKKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24gd3JpdGVNZXNzYWdlVG9M
b2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlu
bmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsKK30KKworZnVuY3Rpb24gZXhlY3V0ZUVtcHR5U3Rh
dGVtZW50KHRyYW5zYWN0aW9uKQoreworICAgIHRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoIiIpOwor
ICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJFeGVjdXRlZCBhbiBlbXB0eSBzdGF0ZW1lbnQuIElmIHlv
dSBkaWRuJ3Qgc2VlIGEgY3Jhc2ggb3IgYXNzZXJ0aW9uLCB0aGUgdGVzdCBwYXNzZWQuIik7Cisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworICAgIH0KKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoIkVtcHR5U3RhdGVt
ZW50VGVzdCIsICIxLjAiLCAiRGF0YWJhc2UgZm9yIGFuIGVtcHR5IHN0YXRlbWVudCB0ZXN0Iiwg
MSk7CisgICAgZGIudHJhbnNhY3Rpb24oZXhlY3V0ZUVtcHR5U3RhdGVtZW50KTsKK30KKworPC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNv
bnNvbGUiPjwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBlMzBiNGJkZDZjZmRiZjJkOTIwMzlkNTVhMjllOTM2N2M2MmQxYWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlLXNxbC1hcmdzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitQQVNTLiBleGVjdXRlU3FsKG51bGwpIGRpZCBub3Qg
dGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKHVuZGVmaW5lZCkgZGlkIG5vdCB0
aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoMCkgZGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9u
CitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgor
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgW10pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQ
QVNTLiBleGVjdXRlU3FsKCIiLCBbICJhcmcwIiBdKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlv
bgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyB9KSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgor
UEFTUy4gZXhlY3V0ZVNxbCgiIiwgeyBsZW5ndGg6IDAgfSkgZGlkIG5vdCB0aHJvdyBhbiBleGNl
cHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIHsgbGVuZ3RoOiAxLCAwOiAiYXJnMCIgfSkgZGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24KK1BBU1MuIGV4ZWN1dGVTcWwoIiIsIG51bGwsIG51bGwp
IGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCB1
bmRlZmluZWQpIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3FsKCIi
LCBudWxsLCB7IH0pIGRpZCBub3QgdGhyb3cgYW4gZXhjZXB0aW9uCitQQVNTLiBleGVjdXRlU3Fs
KCIiLCBudWxsLCBudWxsLCBudWxsKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbgorUEFTUy4g
ZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgdW5kZWZpbmVkKSBkaWQgbm90IHRocm93IGFuIGV4
Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgbnVsbCwgbnVsbCwgeyB9KSBkaWQgbm90IHRo
cm93IGFuIGV4Y2VwdGlvbgorUEFTUy4gZXhlY3V0ZVNxbCgpIHRocmV3IGFuIGV4Y2VwdGlvbiBh
cyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwodGhyb3dPblRvU3RyaW5nT2JqZWN0KSB0aHJl
dyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCB0aHJvd09u
R2V0TGVuZ3RoT2JqZWN0KSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBl
eGVjdXRlU3FsKCIiLCB0aHJvd09uR2V0WmVyb09iamVjdCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFz
IGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwgWyB0aHJvd09uVG9TdHJpbmdPYmplY3Qg
XSkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwg
MCkgdGhyZXcgYW4gZXhjZXB0aW9uIGFzIGV4cGVjdGVkLgorUEFTUy4gZXhlY3V0ZVNxbCgiIiwg
IiIpIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVTcWwoIiIs
IG51bGwsIDApIHRocmV3IGFuIGV4Y2VwdGlvbiBhcyBleHBlY3RlZC4KK1BBU1MuIGV4ZWN1dGVT
cWwoIiIsIG51bGwsICIiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQuCitQQVNTLiBl
eGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAwKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0
ZWQuCitQQVNTLiBleGVjdXRlU3FsKCIiLCBudWxsLCBudWxsLCAiIikgdGhyZXcgYW4gZXhjZXB0
aW9uIGFzIGV4cGVjdGVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9leGVjdXRlLXNxbC1hcmdzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVj
dXRlLXNxbC1hcmdzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjlmMmE0M2FiYWEzNjdjZDk1Y2IwMjY4Yzlm
NzRjOTg2YTk5YzVjYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL2V4ZWN1dGUtc3FsLWFyZ3MuaHRtbApAQCAtMCwwICsxLDEzIEBACis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9ImV4ZWN1dGUtc3FsLWFyZ3MuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4KKzxwcmUgaWQ9ImNvbnNvbGUiPiAKK0ZB
SUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPiAKKzwvYm9keT4KKworPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZS1zcWwtYXJncy5qcyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2I5NDE0ZGIzY2EzYzgwNTA2MWJkYWM2YWM2YzhmYjdkN2ZjOTAyZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGUtc3FsLWFyZ3MuanMKQEAg
LTAsMCArMSw4NiBAQAordmFyIHRocm93T25Ub1N0cmluZ09iamVjdCA9IHsgfTsKK3Rocm93T25U
b1N0cmluZ09iamVjdC50b1N0cmluZyA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBjYWxs
IHRvU3RyaW5nIG9uIHRoaXMgb2JqZWN0LiIgfTsKKwordmFyIHRocm93T25HZXRMZW5ndGhPYmpl
Y3QgPSB7IH07Cit0aHJvd09uR2V0TGVuZ3RoT2JqZWN0Ll9fZGVmaW5lR2V0dGVyX18oImxlbmd0
aCIsIGZ1bmN0aW9uICgpIHsgdGhyb3cgIkNhbm5vdCBnZXQgbGVuZ3RoIG9mIHRoaXMgb2JqZWN0
LiI7IH0pOworCit2YXIgdGhyb3dPbkdldFplcm9PYmplY3QgPSB7IGxlbmd0aDogMSB9OwordGhy
b3dPbkdldFplcm9PYmplY3QuX19kZWZpbmVHZXR0ZXJfXygiMCIsIGZ1bmN0aW9uICgpIHsgdGhy
b3cgIkNhbm5vdCBnZXQgMCBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdC4iOyB9KTsKKwordmFyIGV4
cGVjdE5vRXhjZXB0aW9uID0gWworICAgICdudWxsJywKKyAgICAndW5kZWZpbmVkJywKKyAgICAn
MCcsCisgICAgJyIiJywKKyAgICAnIiIsIG51bGwnLAorICAgICciIiwgdW5kZWZpbmVkJywKKyAg
ICAnIiIsIFtdJywKKyAgICAnIiIsIFsgImFyZzAiIF0nLAorICAgICciIiwgeyB9JywKKyAgICAn
IiIsIHsgbGVuZ3RoOiAwIH0nLAorICAgICciIiwgeyBsZW5ndGg6IDEsIDA6ICJhcmcwIiB9JywK
KyAgICAnIiIsIG51bGwsIG51bGwnLAorICAgICciIiwgbnVsbCwgdW5kZWZpbmVkJywKKyAgICAn
IiIsIG51bGwsIHsgfScsCisgICAgJyIiLCBudWxsLCBudWxsLCBudWxsJywKKyAgICAnIiIsIG51
bGwsIG51bGwsIHVuZGVmaW5lZCcsCisgICAgJyIiLCBudWxsLCBudWxsLCB7IH0nLAorXTsKKwor
dmFyIGV4cGVjdEV4Y2VwdGlvbiA9IFsKKyAgICAnJywKKyAgICAndGhyb3dPblRvU3RyaW5nT2Jq
ZWN0JywKKyAgICAnIiIsIHRocm93T25HZXRMZW5ndGhPYmplY3QnLAorICAgICciIiwgdGhyb3dP
bkdldFplcm9PYmplY3QnLAorICAgICciIiwgWyB0aHJvd09uVG9TdHJpbmdPYmplY3QgXScsCisg
ICAgJyIiLCAwJywKKyAgICAnIiIsICIiJywKKyAgICAnIiIsIG51bGwsIDAnLAorICAgICciIiwg
bnVsbCwgIiInLAorICAgICciIiwgbnVsbCwgbnVsbCwgMCcsCisgICAgJyIiLCBudWxsLCBudWxs
LCAiIicsCitdOworCitmdW5jdGlvbiB0cnlFeGVjdXRlU3FsKHRyYW5zYWN0aW9uLCBwYXJhbWV0
ZXJMaXN0KQoreworICAgIHRyeSB7CisgICAgICAgIGV2YWwoJ3RyYW5zYWN0aW9uLmV4ZWN1dGVT
cWwoJyArIHBhcmFtZXRlckxpc3QgKyAnKScpOworICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB9
IGNhdGNoIChleGNlcHRpb24pIHsKKyAgICAgICAgcmV0dXJuIGV4Y2VwdGlvbjsKKyAgICB9Cit9
CisKK2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uVGVzdCh0cmFuc2FjdGlvbiwgcGFyYW1ldGVyTGlz
dCwgZXhwZWN0RXhjZXB0aW9uKQoreworICAgIHZhciBleGNlcHRpb24gPSB0cnlFeGVjdXRlU3Fs
KHRyYW5zYWN0aW9uLCBwYXJhbWV0ZXJMaXN0KTsKKyAgICBpZiAoZXhwZWN0RXhjZXB0aW9uKSB7
CisgICAgICAgIGlmIChleGNlcHRpb24pCisgICAgICAgICAgICBsb2coIlBBU1MuIGV4ZWN1dGVT
cWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRpb24gYXMgZXhwZWN0ZWQu
Iik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxvZygiKkZBSUwqLiBleGVjdXRlU3FsKCIg
KyBwYXJhbWV0ZXJMaXN0ICsgIikgZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24iKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICAgICAgbG9nKCIqRkFJTCou
IGV4ZWN1dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSB0aHJldyBhbiBleGNlcHRpb246ICIg
KyBleGNlcHRpb24pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsb2coIlBBU1MuIGV4ZWN1
dGVTcWwoIiArIHBhcmFtZXRlckxpc3QgKyAiKSBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbiIp
OworICAgIH0KK30KKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb25UZXN0cyh0cmFuc2FjdGlvbikK
K3sKKyAgICBmb3IgKGkgaW4gZXhwZWN0Tm9FeGNlcHRpb24pCisgICAgICAgIHJ1blRyYW5zYWN0
aW9uVGVzdCh0cmFuc2FjdGlvbiwgZXhwZWN0Tm9FeGNlcHRpb25baV0sIGZhbHNlKTsKKyAgICBm
b3IgKGkgaW4gZXhwZWN0RXhjZXB0aW9uKQorICAgICAgICBydW5UcmFuc2FjdGlvblRlc3QodHJh
bnNhY3Rpb24sIGV4cGVjdEV4Y2VwdGlvbltpXSwgdHJ1ZSk7CisKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworCisgICAgdmFyIGRiID0gb3BlbkRh
dGFiYXNlV2l0aFN1ZmZpeCgiRXhlY3V0ZVNRTEFyZ3NUZXN0IiwgIjEuMCIsICJUZXN0IG9mIGhh
bmRsaW5nIG9mIHRoZSBhcmd1bWVudHMgdG8gU1FMVHJhbnNhY3Rpb24uZXhlY3V0ZVNxbCIsIDEp
OworICAgIGRiLnRyYW5zYWN0aW9uKHJ1blRyYW5zYWN0aW9uVGVzdHMpOworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHktb25l
LXN0YXRlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVj
dXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iOTVjZWVlOGM4ODNhZGUxNDNlYTk2YTE1MjM1N2QwNjc1OWE5ZmE5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvZXhlY3V0ZXNxbC1hY2NlcHRzLW9ubHkt
b25lLXN0YXRlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3QgdGVz
dHMgdGhhdCBleGVjdXRlU3FsKCkgZmFpbHMgd2hlbiBjYWxsZWQgd2l0aCBhIHN0cmluZyB0aGF0
IGhhcyBtb3JlIHRoYW4gb25lIHZhbGlkIHN0YXRlbWVudCBpbiBpdC4KK1Rlc3QgcGFzc2VkLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9leGVjdXRlc3FsLWFjY2Vw
dHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9l
eGVjdXRlc3FsLWFjY2VwdHMtb25seS1vbmUtc3RhdGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM4
NjBjODk5MjVmMmZjZGIxMDYzNmZlN2M2MjNhYzgzYjEzNjAyYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2V4ZWN1dGVzcWwtYWNjZXB0cy1vbmx5LW9uZS1z
dGF0ZW1lbnQuaHRtbApAQCAtMCwwICsxLDc4IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
KwordmFyIFRPVEFMX1NUQVRFTUVOVFMgPSA4OwordmFyIHN0YXRlbWVudHMgPSAwOwordmFyIGRi
ID0gbnVsbDsKKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuYm9keS5p
bm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRlc3Qo
KQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVN0YXRl
bWVudChleHBlY3RlZFRvUGFzcywgc3RhdGVtZW50KQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoc3RhdGVtZW50LCBbXSwKKyAgICAg
ICAgICAgIGZ1bmN0aW9uKHR4LCBkYXRhKSB7CisgICAgICAgICAgICAgICAgaWYgKCFleHBlY3Rl
ZFRvUGFzcykgeworICAgICAgICAgICAgICAgICAgICBsb2coIlN0YXRlbWVudCAiICsgc3RhdGVt
ZW50ICsgIiB3YXMgZXhwZWN0ZWQgdG8gZmFpbCwgYnV0IHBhc3NlZC4iKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBpZiAoKytzdGF0ZW1lbnRzID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgbG9nKCJUZXN0IHBhc3NlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWlu
YXRlVGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKHR4
LCBlcnJvcikgeworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZFRvUGFzcykgeworICAgICAg
ICAgICAgICAgICAgICBsb2coIlN0YXRlbWVudCAiICsgc3RhdGVtZW50ICsgIiB3YXMgZXhwZWN0
ZWQgdG8gcGFzcywgYnV0IGZhaWxlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRl
VGVzdCgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoKytzdGF0ZW1l
bnRzID09IFRPVEFMX1NUQVRFTUVOVFMpIHsKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJUZXN0
IHBhc3NlZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIH0pOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5U
ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRiID0gb3BlbkRhdGFiYXNlKCJFeGVj
dXRlU1FMQWNjZXB0c09ubHlPbmVTdGF0ZW1lbnRUZXN0IiwgIjEuMCIsICIiLCAxKTsKKyAgICBk
Yi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVB
VEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIpOworICAgIH0sIGZ1bmN0aW9u
KGVycm9yKSB7CisgICAgICAgIGxvZygiVGVzdCBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsK
KyAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBl
eGVjdXRlU3RhdGVtZW50KHRydWUsICJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoMSkiKTsKKyAg
ICAgICAgZXhlY3V0ZVN0YXRlbWVudCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDIp
OyIpOworICAgICAgICBleGVjdXRlU3RhdGVtZW50KHRydWUsICIgICBJTlNFUlQgSU5UTyBUZXN0
IFZBTFVFUyAoMykgICAgIik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHJ1ZSwgIiAgIElO
U0VSVCBJTlRPIFRlc3QgVkFMVUVTICg0KTsgICAiKTsKKyAgICAgICAgZXhlY3V0ZVN0YXRlbWVu
dCh0cnVlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDUpICAgOyIpOworICAgICAgICBleGVj
dXRlU3RhdGVtZW50KGZhbHNlLCAiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKDYpOyBnYXJiYWdl
Iik7CisgICAgICAgIGV4ZWN1dGVTdGF0ZW1lbnQoZmFsc2UsICJJTlNFUlQgSU5UTyBUZXN0IFZB
TFVFUyAoNyk7IElOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg4KSIpOworICAgICAgICBleGVjdXRl
U3RhdGVtZW50KGZhbHNlLCAiICBJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoOSk7ICAgSU5TRVJU
IElOVE8gVGVzdCBWQUxVRVMgKDEwKTsgICAiKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQg
ZXhlY3V0ZVNxbCgpIGZhaWxzIHdoZW4gY2FsbGVkIHdpdGggYSBzdHJpbmcgdGhhdCBoYXMgbW9y
ZSB0aGFuIG9uZSB2YWxpZCBzdGF0ZW1lbnQgaW4gaXQuPGJyPgorPC9ib2R5PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFu
Z2Utd2l0aC14aHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFz
aC1jaGFuZ2Utd2l0aC14aHItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlOTY0ZTYzNzViZDNh
MzFiYWI4OGI3MjU1YjhmNTQwNzI0Y2NjZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACitDaGFuZ2luZyB0aGUgaGFzaCB0byBjcmVhdGUgaGlzdG9yeSBlbnRyaWVzLgor
RGIgaXMgd2FybWVkIHVwCitUZXN0IENvbXBsZXRlLCBTVUNDRVNTCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdpdGgteGhyLmh0bWwgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU4NDMyMGYwZjE5Yzc4YzRmY2M4YzZmODU0MjBiZThjZjU2YjMzOWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9oYXNoLWNoYW5nZS13aXRoLXhoci5o
dG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPiAKKzxoZWFkPiAKKzx0aXRsZT5IYXNoIENoYW5n
ZSB3aXRoIGFuIE9wZW4gWEhSIHNob3VsZCBub3Qgc3RvcCBkYXRhYmFzZSB0cmFuc2FjdGlvbnM8
L3RpdGxlPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Imhhc2gtY2hhbmdlLXdpdGgteGhyLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4gCis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpIj4gCis8cHJlIGlkPSJjb25z
b2xlIj4KK0ZBSUxVUkU6IHRlc3QgZGlkbid0IHJ1bi4KKzwvcHJlPgorPC9ib2R5PiAKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hhbmdlLXdp
dGgteGhyLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvaGFzaC1jaGFuZ2Utd2l0aC14
aHIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uN2Y1NmY3OTVhMTgyZTFhODFkYWZiNjQwMGVjODNjOGMzMGMwZDVm
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL2hhc2gtY2hh
bmdlLXdpdGgteGhyLmpzCkBAIC0wLDAgKzEsMTE4IEBACit2YXIgREJfVVBEQVRFX0lOVEVSVkFM
ID0gMTAwOwordmFyIFNFTkRfWEhSX0lOVEVSVkFMID0gMTAwOwordmFyIEJBQ0tfSU5URVJWQUwg
PSAxMDA7Cit2YXIgQ1JFQVRFX0hFQUxUSF9UQUJMRSA9ICdDUkVBVEUgVEFCTEUgSUYgTk9UIEVY
SVNUUyBoZWFsdGggKGtleSBWQVJDSEFSKDE2KSBQUklNQVJZIEtFWSk7JzsKK3ZhciBVUERBVEVf
REFUQSA9ICdSRVBMQUNFIElOVE8gaGVhbHRoIFZBTFVFUygiaGVhbHRoLWNoZWNrLWtleSIpOyc7
CisgCit2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRoU3VmZml4KCdidWcyNTcxMCcsICcxLjAnLCAn
TGF5b3V0VGVzdCBmb3IgYnVnIDI1NzEwJywgMTAyNDAwKTsKK3ZhciBiYWNrSXRlcmF0aW9uczsK
K3ZhciB4aHJGY3RJbnRlcnZhbElkOwordmFyIGJhY2tGY3RJbnRlcnZhbElkOwordmFyIHN1Y2Nl
c3NDaGVja0ludGVydmFsSWQ7Cit2YXIgZGJGY3RJbnRlcnZhbElkOwordmFyIHN1Y2Nlc3NlczsK
K3ZhciBkYXRhYmFzZVVwZGF0ZXM7Cit2YXIgc3RvcHBlZEludGVydmFsczsKKyAKK2Z1bmN0aW9u
IHN0b3BJbnRlcnZhbHMoKQoreworICAgIHN0b3BwZWRJbnRlcnZhbHMgPSB0cnVlOworICAgIGNs
ZWFySW50ZXJ2YWwoZGJGY3RJbnRlcnZhbElkKTsKKyAgICBjbGVhckludGVydmFsKHhockZjdElu
dGVydmFsSWQpOworICAgIGNsZWFySW50ZXJ2YWwoYmFja0ZjdEludGVydmFsSWQpOworfQorCitm
dW5jdGlvbiBzdG9wVGVzdChtZXNzYWdlKQoreworICAgIGlmICghc3RvcHBlZEludGVydmFscykK
KyAgICAgICAgc3RvcEludGVydmFscygpOworCisgICAgbG9nKG1lc3NhZ2UpOworCisgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIubm90aWZ5RG9uZSgpOworfQorICAgIAorZnVuY3Rpb24gdXBkYXRlRGF0YWJhc2UoKQorewor
ICAgIGRhdGFiYXNlVXBkYXRlcysrOyAgCisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHJh
bnNhY3Rpb24pIHsKKyAgICAgICAgdHJhbnNhY3Rpb24uZXhlY3V0ZVNxbChVUERBVEVfREFUQSwg
W10sIGZ1bmN0aW9uKCkge30sIGVycm9ySGFuZGxlcik7CisgICAgfSwgZXJyb3JIYW5kbGVyLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgc3VjY2Vzc2VzKys7CisgICAgfSk7Cit9CisKK2Z1bmN0aW9u
IGNoZWNrRm9yU3VjY2VzcygpCit7CisgICAgaWYgKHN1Y2Nlc3NlcyA9PSBkYXRhYmFzZVVwZGF0
ZXMpIHsKKyAgICAgICAgc3RvcFRlc3QoJ1Rlc3QgQ29tcGxldGUsIFNVQ0NFU1MnKTsKKyAgICAg
ICAgY2xlYXJJbnRlcnZhbChzdWNjZXNzQ2hlY2tJbnRlcnZhbElkKTsKKyAgICB9Cit9CisgCitm
dW5jdGlvbiBlcnJvckhhbmRsZXIodHgsIGVycm9yKQoreworICAgIGxvZygnREIgZXJyb3IsIGNv
ZGU6ICcgKyBlcnJvci5jb2RlICsgJywgbXNnOiAnICsgZXJyb3IubWVzc2FnZSk7CisgICAgc3Rv
cFRlc3QoJ1Rlc3QgQ29tcGxldGUsIEZBSUxFRCcpOworfQorIAorZnVuY3Rpb24gc2VuZFhocigp
Cit7CisgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgeGhyLm9wZW4oJ0dFVCcs
IGxvY2F0aW9uLmhyZWYsIHRydWUpOworICAgIHhoci5zZW5kKCcnKTsKK30KKyAKK2Z1bmN0aW9u
IGludm9rZUJhY2soKQoreworICAgIGJhY2tJdGVyYXRpb25zLS07CisgICAgaWYgKGJhY2tJdGVy
YXRpb25zKSB7CisgICAgICAgIGhpc3RvcnkuYmFjaygpOworICAgIH0gZWxzZSB7CisgICAgICAg
IHN0b3BJbnRlcnZhbHMoKTsKKyAgICAgICAgLy8gQWxsb3cgYSBsaXR0bGUgdGltZSBmb3IgYWxs
IHRoZSBkYXRhYmFzZSB0cmFuc2FjdGlvbnMgdG8gY29tcGxldGUgbm93IHdlJ3ZlIHN0b3BwZWQg
bWFraW5nIHRoZW0uCisgICAgICAgIHN1Y2Nlc3NDaGVja0ludGVydmFsSWQgPSBzZXRJbnRlcnZh
bChjaGVja0ZvclN1Y2Nlc3MsIDI1MCk7CisgICAgICAgIC8vIElmIHdlIGRvbid0IGZpbmlzaCBi
ZWZvcmUgdGhpcyB0aW1lLCB0aGVuIHdlIGNvbnNpZGVyIHRoZSB0ZXN0IGZhaWxlZC4KKyAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgc3RvcFRlc3QoJ1RpbWVkIG91dCB3YWl0aW5nIGZv
ciB0cmFuc2FjdGlvbnMgdG8gY29tcGxldGUuIEZBSUxFRCcpOyB9LCAyMDAwMCk7CisgICAgICAg
IAorICAgIH0KK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgLy8gTG9jYXRpb24gY2hh
bmdlcyBuZWVkIHRvIGhhcHBlbiBvdXRzaWRlIHRoZSBvbmxvYWQgaGFuZGxlciB0byBnZW5lcmF0
ZSBoaXN0b3J5IGVudHJpZXMuCisgICAgc2V0VGltZW91dChydW5UZXN0c0lubmVyLCAwKTsKK30K
KworZnVuY3Rpb24gcnVuVGVzdHNJbm5lcigpCit7CisgICAgYmFja0l0ZXJhdGlvbnMgPSAxMDsK
KyAgICBjb25zZWN1dGl2ZUZhaWx1cmVzID0gMDsKKyAgICBzdWNjZXNzZXMgPSAwOworICAgIGRh
dGFiYXNlVXBkYXRlcyA9IDA7CisgICAgc3RvcHBlZEludGVydmFscyA9IGZhbHNlOworCisgICAg
Ly8gQ3JlYXRlIHNvbWUgaGFzaGVzIHNvIHdlIGNhbiBjYWxsIGhpc3RvcnkuYmFjaygpLgorICAg
IGxvZygnQ2hhbmdpbmcgdGhlIGhhc2ggdG8gY3JlYXRlIGhpc3RvcnkgZW50cmllcy4nKTsKKyAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGJhY2tJdGVyYXRpb25zOyBpKyspIHsKKyAgICAgICAgc2V0
TG9jYXRpb25IYXNoKGkpOworICAgIH0KKworICAgIC8vIEluaXQgdGhlIGRhdGFiYXNlLgorICAg
IGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHRyYW5zYWN0aW9uKSB7CisgICAgICAgIHRyYW5zYWN0
aW9uLmV4ZWN1dGVTcWwoQ1JFQVRFX0hFQUxUSF9UQUJMRSwgW10sIGZ1bmN0aW9uKCkge30sIGVy
cm9ySGFuZGxlcik7CisgICAgfSwgZXJyb3JIYW5kbGVyLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
Ly8gR2l2ZSBhIGxpdHRsZSBmb3IgdGhlIGRhdGFiYXNlIHRvICd3YXJtIHVwJyBiZWZvcmUgbWFr
aW5nIHhociByZXF1ZXN0cworICAgICAgICAvLyBhbmQgY2FsbGluZyBoaXN0b3J5LmJhY2soKS4K
KyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGxvZygnRGIgaXMg
d2FybWVkIHVwJyk7CisKKyAgICAgICAgICAgIC8vIE5PVEU6IElmIHdlIGRvbid0IG1ha2UgYW55
IHhociByZXF1ZXN0cywgdGhlbiB0aGUgdGVzdAorICAgICAgICAgICAgLy8gc3VjY2Vzc2Z1bGx5
IHBhc3NlcyAoY29tbWVudCB0aGlzIGxpbmUgb3V0KS4KKyAgICAgICAgICAgIHhockZjdEludGVy
dmFsSWQgPSBzZXRJbnRlcnZhbChzZW5kWGhyLCBTRU5EX1hIUl9JTlRFUlZBTCk7CisgICAgICAg
ICAgICBiYWNrRmN0SW50ZXJ2YWxJZCA9IHNldEludGVydmFsKGludm9rZUJhY2ssIEJBQ0tfSU5U
RVJWQUwpOworICAgICAgICAgICAgZGJGY3RJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwodXBkYXRl
RGF0YWJhc2UsIERCX1VQREFURV9JTlRFUlZBTCk7CisgICAgICAgIH0sIDUwMCk7CisgICAgfSk7
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRh
YmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQwMTUxNGE2YWVmYjM2MjhlYjAwMzY0Y2IyNjI0YzIwZTBlODkwMDQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1k
YXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K1RoaXMgdGVzdCBvcGVucyB0d28gZGF0YWJhc2VzLCBxdWV1ZXMgdXAgYSBzZXJpZXMgb2Ygb3Bl
cmF0aW9ucyBvbiBib3RoLCB0aGVuICJmb3JnZXRzIiBhYm91dCBvbmUgb2YgdGhlbS4gQWZ0ZXIg
Zm9yY2luZyBHQywgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGRhdGFiYXNlIHNob3Vs
ZCBiZSBmcmVlZCBncmFjZWZ1bGx5LgorRm9yZ290dGVuIERhdGFiYXNlIFRyYW5zYWN0aW9uIENv
bXBsZXRlCitQZXJzaXN0ZW50IERhdGFiYXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJi
YWdlLWNvbGxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxl
LWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDUxYWNmYmI5
OWE0MzlkZDgyNDc2YzE5OTQ5MTY2ODZhOWE2ZjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlv
bi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibXVsdGlw
bGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+Cis8Ym9keSBvbmxv
YWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3Qgb3BlbnMgdHdvIGRhdGFiYXNlcywg
cXVldWVzIHVwIGEgc2VyaWVzIG9mIG9wZXJhdGlvbnMgb24gYm90aCwgdGhlbiAiZm9yZ2V0cyIg
YWJvdXQgb25lIG9mIHRoZW0uCitBZnRlciBmb3JjaW5nIEdDLCByZXNvdXJjZXMgYXNzb2NpYXRl
ZCB3aXRoIHRoYXQgZGF0YWJhc2Ugc2hvdWxkIGJlIGZyZWVkIGdyYWNlZnVsbHkuPGJyPgorPHBy
ZSBpZD0iY29uc29sZSI+IAorRkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVs
dGlwbGUtZGF0YWJhc2VzLWdhcmJhZ2UtY29sbGVjdGlvbi5qcyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1nYXJiYWdlLWNvbGxlY3Rpb24uanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWEyYjI3ZjQ3ZjZhOTAwZDg0Yjk4ZDE4NDhkNzZlZjY0NDIwZDg2ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLWRhdGFiYXNlcy1n
YXJiYWdlLWNvbGxlY3Rpb24uanMKQEAgLTAsMCArMSw1NiBAQAorZnVuY3Rpb24gR0MoKQorewor
ICAgIC8vIEZvcmNlIEdDLgorICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQorICAgICAgICBH
Q0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgIGVsc2UgeworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICAgICAgICAgICh7IH0pOworICAgICAgICB9CisgICAg
fQorfQorCisvLyBWYXJpYWJsZSBmb3IgdGhlIGRhdGFiYXNlIHRoYXQgd2lsbCBuZXZlciBiZSBm
b3Jnb3R0ZW4KK3ZhciBwZXJzaXN0ZW50REIgPSAwOworLy8gVmFyaWFibGUgZm9yIHRoZSBmb3Jn
b3R0ZW4gZGF0YWJhc2UKK3ZhciBmb3Jnb3R0ZW5EQiA9IDA7CisKK3ZhciBjb21wbGV0ZWQgPSAw
OworZnVuY3Rpb24gY2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICBpZiAoKytjb21wbGV0ZWQgPT0g
MiAmJiB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgcGVy
c2lzdGVudERCID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiTXVsdGlwbGVEYXRhYmFzZXNUZXN0
MSIsICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9mIGEgc2V0IG9mIGRhdGFiYXNlcyBiZWluZyBkZXN0
cm95ZWQgKDEpIiwgMzI3NjgpOworICAgIGZvcmdvdHRlbkRCID0gb3BlbkRhdGFiYXNlV2l0aFN1
ZmZpeCgiTXVsdGlwbGVEYXRhYmFzZXNUZXN0MiIsICIxLjAiLCAiVGVzdCBvbmUgb3V0IG9mIGEg
c2V0IG9mIGRhdGFiYXNlcyBiZWluZyBkZXN0cm95ZWQgKDIpIiwgMzI3NjgpOworCisgICAgcGVy
c2lzdGVudERCLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtd
LCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7IAorICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCAyNTsgKytpKQorICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIERh
dGFUZXN0IChyYW5kb21EYXRhKSBWQUxVRVMgKDEpIiwgW10pOworICAgICAgICB9KTsgCisgICAg
fSwgZnVuY3Rpb24oZXJyKSB7CisgICAgICAgIGxvZygiUGVyc2lzdGVudCBEYXRhYmFzZSBUcmFu
c2FjdGlvbiBFcnJvcmVkIC0gIiArIGVycik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigpOwor
ICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBsb2coIlBlcnNpc3RlbnQgRGF0YWJhc2UgVHJh
bnNhY3Rpb24gQ29tcGxldGUiKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7
CisKKyAgICBmb3Jnb3R0ZW5EQi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICB0
eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBFbXB0eVRhYmxlICh1bmlt
cG9ydGFudERhdGEpIiwgW10pOworICAgIH0sIGZ1bmN0aW9uKGVycikgeworICAgICAgICBsb2co
IkZvcmdvdHRlbiBEYXRhYmFzZSBUcmFuc2FjdGlvbiBFcnJvcmVkIC0gIiArIGVycik7CisgICAg
ICAgIGZvcmdvdHRlbkRCID0gMDsKKyAgICAgICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21wbGV0
aW9uKCk7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGxvZygiRm9yZ290dGVuIERhdGFi
YXNlIFRyYW5zYWN0aW9uIENvbXBsZXRlIik7CisgICAgICAgIGZvcmdvdHRlbkRCID0gMDsKKyAg
ICAgICAgR0MoKTsKKyAgICAgICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgfSk7Cit9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNh
Y3Rpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZTljMGY2ZTk1YmFmYjhmNTc4MzM2MDk2
MTZlZjUyYzcwODk2MTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAK
K1RoaXMgaXMgYSB0ZXN0IHRvIHNlZSBpZiB0aGUgZGF0YWJhc2UgQVBJIGFsbG93cyBtdWx0aXBs
ZSB0cmFuc2FjdGlvbnMgdG8gYmUgcXVldWVkIG9uIHRoZSBzYW1lIGRhdGFiYXNlIGF0IG9uY2U6
CitUcmFuc2FjdGlvbiAxIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDEgU3VjY2VlZGVkCitUcmFuc2Fj
dGlvbiAyIFN0YXJ0ZWQKK1RyYW5zYWN0aW9uIDIgU3VjY2VlZGVkCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy1vbi1kaWZmZXJl
bnQtaGFuZGxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0
aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJhNmEyZDE3Y2EwNjg3MTc1OTAxYjNlYmJlMDdjYzYyZjhmMmQ2ZTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlv
bnMtb24tZGlmZmVyZW50LWhhbmRsZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGhp
cyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11bHRpcGxlIHRyYW5zYWN0aW9ucyBv
biBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1bHRzIGluIGEgZGVh
ZGxvY2suCitkYjEgcmVhZCBzdGF0ZW1lbnQgc3VjY2VlZGVkCitkYjEgd3JpdGUgc3RhdGVtZW50
IHN1Y2NlZWRlZAorZGIxIHRyYW5zYWN0aW9uIHN1Y2NlZWRlZAorZGIyIHJlYWQgc3RhdGVtZW50
IHN1Y2NlZWRlZAorZGIyIHdyaXRlIHN0YXRlbWVudCBzdWNjZWVkZWQKK2RiMiB0cmFuc2FjdGlv
biBzdWNjZWVkZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVs
dGlwbGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVyZW50LWhhbmRs
ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wYTE4YzMyMmMxNWEzNmI0MWIxNDMwNzMyM2U2Mzk2MGFkZTE2
MGMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmh0bWwKQEAgLTAsMCArMSwxMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJtdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlm
ZmVyZW50LWhhbmRsZXMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1
cEFuZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHF1ZXVlaW5nIHVwIG11
bHRpcGxlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRh
YmFzZSByZXN1bHRzIGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+IAorRkFJ
TFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+IAorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLW9u
LWRpZmZlcmVudC1oYW5kbGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlw
bGUtdHJhbnNhY3Rpb25zLW9uLWRpZmZlcmVudC1oYW5kbGVzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhYjRi
OTNlZjgzYTc2YzdlNGM5MjQ4MWRmZmYwZTUxNzdmNGFjMWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMtb24tZGlmZmVy
ZW50LWhhbmRsZXMuanMKQEAgLTAsMCArMSw3OCBAQAordmFyIGNvbXBsZXRlID0gMDsKKworZnVu
Y3Rpb24gY2hlY2tDb21wbGV0aW9uKCkKK3sKKyAgICAvLyBUaGUgdGVzdCBzaG91bGQgZW5kIGFm
dGVyIHR3byB0cmFuc2FjdGlvbnMKKyAgICBpZiAoKytjb21wbGV0ZSA9PSAyICYmIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworfQorCisvLyBPcGVucyB0aGUgZGF0YWJhc2UgdXNlZCBpbiB0aGlzIHRlc3QgY2Fz
ZQorZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7CisgICAgcmV0dXJuIG9wZW5EYXRhYmFz
ZVdpdGhTdWZmaXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zT25EaWZmZXJlbnRIYW5kbGVzVGVzdCIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIlRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcXVldWVpbmcgbXVs
dGlwbGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBEQiBoYW5kbGVzIGRvZXMgbm90IHJlc3Vs
dCBpbiBhIGRlYWRsb2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzI3
NjgpOworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2soZGJOYW1lLCBzdGF0
ZW1lbnRUeXBlKQoreworICAgIGxvZyhkYk5hbWUgKyAiICIgKyBzdGF0ZW1lbnRUeXBlICsgIiBz
dGF0ZW1lbnQgc3VjY2VlZGVkIik7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJh
Y2soZGJOYW1lLCBzdGF0ZW1lbnRUeXBlLCBlcnJvcikKK3sKKyAgICBsb2coZGJOYW1lICsgIiAi
ICsgc3RhdGVtZW50VHlwZSArICIgc3RhdGVtZW50IGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2Up
OworfQorCisvLyBSdW5zIGEgdHJhbnNhY3Rpb24gb24gdGhlIGdpdmVuIGRhdGFiYXNlCitmdW5j
dGlvbiBydW5UcmFuc2FjdGlvbihkYiwgZGJOYW1lLCB2YWwpCit7CisgICAgZGIudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAvLyBFeGVjdXRlIGEgcmVhZC1vbmx5IHN0YXRlbWVu
dAorICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgW10s
CisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVtZW50U3VjY2Vz
c0NhbGxiYWNrKGRiTmFtZSwgInJlYWQiKTsgfSwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHR4LCBlcnJvcikgeyBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKGRiTmFtZSwgInJlYWQiLCBl
cnJvcik7IH0pOworCisgICAgICAgLy8gRXhlY3V0ZSBhIHdyaXRlIHN0YXRlbWVudCB0byBtYWtl
IHN1cmUgU1FMaXRlIHRyaWVzIHRvIGFjcXVpcmUgYW4gZXhjbHVzaXZlIGxvY2sgb24gdGhlIERC
IGZpbGUKKyAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBUZXN0IFZBTFVFUyAoPyk7
IiwgW3ZhbF0sCisgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3RhdGVt
ZW50U3VjY2Vzc0NhbGxiYWNrKGRiTmFtZSwgIndyaXRlIik7IH0sCisgICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHsgc3RhdGVtZW50RXJyb3JDYWxsYmFjayhkYk5hbWUs
ICJ3cml0ZSIsIGVycm9yKTsgfSk7CisgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAg
ICAgICAgLy8gVHJhbnNhY3Rpb24gZmFpbHVyZSBjYWxsYmFjaworICAgICAgICAgICBsb2coZGJO
YW1lICsgIiB0cmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAg
ICAgY2hlY2tDb21wbGV0aW9uKCk7CisgICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAg
IC8vIFRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sKKyAgICAgICAgICAgbG9nKGRiTmFtZSAr
ICIgdHJhbnNhY3Rpb24gc3VjY2VlZGVkIik7CisgICAgICAgICAgIGNoZWNrQ29tcGxldGlvbigp
OworICAgICAgIH0pOworfQorCisvLyBXZSBuZWVkIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBUZXN0
IHRhYmxlIGV4aXN0cyBiZWZvcmUgd2UgcnVuIG91ciB0ZXN0LgorLy8gVGhlcmVmb3JlLCB0aGUg
dGVzdCBjb2RlIGlzIGluIHRoZSBzdWNjZXNzQ2FsbGJhY2sgb2YgdGhlIHRyYW5zYWN0aW9uIHRo
YXQgY3JlYXRlcyB0aGUgdGFibGUuCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIHRyeSB7Cisg
ICAgICAgIHZhciBkYiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgZGIudHJhbnNhY3Rp
b24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgVGVzdCB0YWJsZSBp
ZiBpdCBkb2VzIG5vdCBleGlzdAorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRB
QkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7IiwgW10sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKHJlc3VsdCkge30sIGZ1bmN0aW9uKHR4LCBlcnJvcikge30pOwor
ICAgICAgICAgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBsb2coIkNy
ZWF0aW5nIHRoZSBUZXN0IHRhYmxlIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAg
ICAgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgLy8gVGhlIFRlc3QgdGFibGUg
d2FzIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5CisgICAgICAgICAgICAgICAgdmFyIGRiMSA9IG9wZW5U
ZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgICAgICAgICB2YXIgZGIyID0gb3BlblRlc3REYXRhYmFz
ZSgpOworICAgICAgICAgICAgICAgIGlmIChkYjEgPT0gZGIyKQorICAgICAgICAgICAgICAgICAg
ICBsb2coImZhaWx1cmU6IGRiMSA9PSBkYjIiKTsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgICAgICAgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCAiZGIxIiwgMSk7CisgICAgICAg
ICAgICAgICAgICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgImRiMiIsIDIpOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0pOworICAgIH0gY2F0Y2goZXJyKSB7fQorfQorCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0aW9ucy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbXVsdGlwbGUtdHJhbnNhY3Rpb25zLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzU5NzQ0MDEzOTZlZmRjODc1M2E2MGZiM2U5NDgxMjQyODUwMzRjZAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRy
YW5zYWN0aW9ucy5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0ibXVsdGlwbGUtdHJhbnNhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxoZWFkPgorPGJvZHkgb25s
b2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyBpcyBhIHRlc3QgdG8gc2VlIGlmIHRoZSBk
YXRhYmFzZSBBUEkgYWxsb3dzIG11bHRpcGxlIHRyYW5zYWN0aW9ucyB0byBiZSBxdWV1ZWQgb24g
dGhlIHNhbWUgZGF0YWJhc2UgYXQgb25jZTo8YnI+Cis8cHJlIGlkPSJjb25zb2xlIj4gCitGQUlM
VVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4gCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS10cmFuc2FjdGlvbnMuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODVjZGFiY2RiZGQ2NGMzYjRhMWRkNjNmMzUzMTU4Njk2MmNhZDYxOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL211bHRpcGxlLXRyYW5zYWN0
aW9ucy5qcwpAQCAtMCwwICsxLDMyIEBACit2YXIgY29tcGxldGUgPSAwOworCitmdW5jdGlvbiBj
aGVja0NvbXBsZXRpb24oKQoreworICAgIGlmICgrK2NvbXBsZXRlID09IDIgJiYgd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYiA9IG9wZW5EYXRh
YmFzZVdpdGhTdWZmaXgoIk11bHRpcGxlVHJhbnNhY3Rpb25zVGVzdCIsICIxLjAiLCAiVGVzdCB0
byBtYWtlIHN1cmUgbXVsdGlwbGUgdHJhbnNhY3Rpb25zIGNhbiBiZSBxdWV1ZWQgYXQgb25jZSBm
b3IgYW4gSFRNTDUgZGF0YWJhc2UiLCAzMjc2OCk7CisKKyAgICBkYi50cmFuc2FjdGlvbihmdW5j
dGlvbih0eCkgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgU3RhcnRlZCIpOworICAgIH0s
IGZ1bmN0aW9uKGVycikgeworICAgICAgICBsb2coIlRyYW5zYWN0aW9uIDEgRXJyb3JlZCAtICIg
KyBlcnIpOworICAgICAgICBjaGVja0NvbXBsZXRpb24oKTsKKyAgICB9LCBmdW5jdGlvbigpIHsK
KyAgICAgICAgbG9nKCJUcmFuc2FjdGlvbiAxIFN1Y2NlZWRlZCIpOworICAgICAgICBjaGVja0Nv
bXBsZXRpb24oKTsKKyAgICB9KTsKKworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7
CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBTdGFydGVkIik7CisgICAgfSwgZnVuY3Rpb24o
ZXJyKSB7CisgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gMiBFcnJvcmVkIC0gIiArIGVycik7Cisg
ICAgICAgIGNoZWNrQ29tcGxldGlvbigpOworICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICBs
b2coIlRyYW5zYWN0aW9uIDIgU3VjY2VlZGVkIik7CisgICAgICAgIGNoZWNrQ29tcGxldGlvbigp
OworICAgIH0pOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVs
bC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvbnVs
bC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMTE2NzUxMDZkODE2OTkxMTE0
YWQ5MWM2NjM4MGMyN2MzN2QzYTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgJ251bGwnIGNhbiBiZSB1c2VkIHdoZXJldmVyIHdlIGV4cGVj
dCBhbiBvcHRpb25hbCBjYWxsYmFjay4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL251bGwtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9udWxsLWNhbGxiYWNrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRjYTBlMWMzZmZiY2QzMzY2MTBk
ZmEzN2E1ODc2OWYwMmM0ODY5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9udWxsLWNhbGxiYWNrcy5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFy
QWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0K
KworICAgIHRyeSB7CisgICAgICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiTnVsbENhbGxiYWNr
cyIsICIxLjAiLCAiVGVzdCBmb3IgbnVsbCBjYWxsYmFja3MuIiwgMSk7CisgICAgICAgIGRiLnRy
YW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVB
VEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gSU5UKSIsIG51bGwpOworICAgICAgICAg
ICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gVGVzdCBWQUxVRVMgKD8pIiwgWzFdLCBudWxs
LCBudWxsKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFM
VUVTICg/KSIsIFsyXSwgbnVsbCk7CisgICAgICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQg
SU5UTyBUZXN0IFZBTFVFUyAoMykiLCBudWxsLCBudWxsLCBudWxsKTsKKyAgICAgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs0XSwgbnVsbCwKKyAg
ICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgZXJyb3IpIHt9KTsKKyAgICAgICAgfSwgbnVsbCwg
bnVsbCk7CisKKyAgICAgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTICg/KSIsIFs1XSk7Cisg
ICAgICAgIH0sIG51bGwsIGZ1bmN0aW9uKCkgeyBmaW5pc2hUZXN0KCk7IH0pOworICAgIH0gY2F0
Y2goZXJyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5u
ZXJIVE1MID0gIkZBSUwiOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNo
ZWNrcyB0aGF0ICdudWxsJyBjYW4gYmUgdXNlZCB3aGVyZXZlciB3ZSBleHBlY3QgYW4gb3B0aW9u
YWwgY2FsbGJhY2suCis8cHJlIGlkPSJjb25zb2xlIj5QQVNTPC9wcmU+Cis8L2JvZHk+CisKKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJh
c2UtY3JlYXRpb24tY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjJmM2ZjYjZiYWRkYTEzMDUxNTI4OTZlNDhhMmExMDUzM2QyY2IxNQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtY3JlYXRp
b24tY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBNRVNTQUdF
OiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJzEuMCcgZG9lcyBu
b3QgbWF0Y2ggdGhlIGN1cnJlbnRWZXJzaW9uIG9mICcnCitUaGlzIHRlc3QgdGVzdHMgb3BlbkRh
dGFiYXNlKCkncyBjcmVhdGlvbiBjYWxsYmFjay4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay1pc29sYXRlZC13
b3JsZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFi
YXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mYTk2YTY3NTRkOGRmNTc0MDBjZTQ2YzlkY2NhMjNlNWM0Mjc1ODQ1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlv
bi1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitB
TEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBp
biBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0
IHRoZSBvcGVuRGF0YWJhc2UoKSBjcmVhdGlvbiBjYWxsYmFjayBpcyBjYWxsZWQgaW4gdGhlIHJp
Z2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xh
dGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOThhNDY2NGJlMjBmZmZjNWJkODk5OWVmNDQ4N2Jm
YWIwZWY1Y2I0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L29wZW4tZGF0YWJhc2UtY3JlYXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3Qg
dGVzdHMgdGhhdCB0aGUgb3BlbkRhdGFiYXNlKCkgY3JlYXRpb24gY2FsbGJhY2sgaXMgY2FsbGVk
IGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
K3ZhciBjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQorewor
ICAgIGlmICgoKytjcmVhdGlvbkNhbGxiYWNrc0V4ZWN1dGVkID09IDIpICYmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Cit9CisKK2Z1bmN0aW9uIGNyZWF0aW9uQ2FsbGJhY2sxKGRiKQoreworICAgIGFsZXJ0
KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKwor
ZnVuY3Rpb24gY3JlYXRpb25DYWxsYmFjazIoZGIpCit7CisgICAgYWxlcnQoZG9jdW1lbnQuYm9k
eS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQuYm9keS5mb28gPSAiRkFJTDogZG9j
dW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iOworZG9jdW1lbnQuYm9k
eS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNy
ZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV2YWx1YXRlU2Ny
aXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAgICAgICAiZnVuY3Rpb24gY3JlYXRp
b25DYWxsYmFjazEoZGIpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0
KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0n
amF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBk
YjEgPSBvcGVuRGF0YWJhc2UoJ09wZW5EYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tJc29sYXRlZFdv
cmxkJywgJzEuMCcsICcnLCAxLCBjcmVhdGlvbkNhbGxiYWNrMSk7Iik7CisKKyAgICB2YXIgZGIy
ID0gb3BlbkRhdGFiYXNlKCdPcGVuRGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrSXNvbGF0ZWRXb3Js
ZDInLCAnMS4wJywgJycsIDEsIGNyZWF0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Bl
bi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4
MTY0NWM0NWVlNzRkNGI2MWFhMDE5ODAzNGE5NGE4ZDRhN2UzNTkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxi
YWNrLmh0bWwKQEAgLTAsMCArMSw5MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29s
ZSIpLmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hU
ZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3Qo
KQoreworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2V0RGF0YWJhc2VRdW90YSgzMjc2OCk7CisgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygpOworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB9CisKKyAgICB2YXIgdHJhbnNhY3Rpb25zUnVuID0gMDsKKworICAg
IC8vIE9wZW4gYSBuZXcgZGF0YWJhc2Ugd2l0aCBhIGNyZWF0aW9uIGNhbGxiYWNrLCBhbmQgbWFr
ZSBzdXJlIHRoZSBjcmVhdGlvbiBjYWxsYmFjayBpcyBxdWV1ZWQKKyAgICB2YXIgY3JlYXRpb25D
YWxsYmFja0NhbGxlZDEgPSBmYWxzZTsKKyAgICB2YXIgZGIxTmFtZSA9ICJPcGVuRGF0YWJhc2VD
cmVhdGlvbkNhbGxiYWNrMSIgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgpOworICAgIHZhciBkYjEg
PSBvcGVuRGF0YWJhc2UoZGIxTmFtZSwgIjEuMCIsICIiLCAxLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZnVuY3Rpb24oZGIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
cmVhdGlvbkNhbGxiYWNrQ2FsbGVkMSA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKGRiLnZlcnNpb24gIT0gIiIpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFjayB3YXMgY2FsbGVkIHdpdGggYSBkYXRhYmFz
ZSB3aXRoIHZlcnNpb24gIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkYi52ZXJzaW9uICsgIjsgZW1wdHkgc3RyaW5nIGV4cGVjdGVkLiIpOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CisKKyAgICAvLyBQ
dXR0aW5nIHRoaXMgY29kZSBpbnNpZGUgYSB0cmFuc2FjdGlvbiBvbiAnZGIxJyBtYWtlcyBzdXJl
IHRoYXQgaXQgaXMgZXhlY3V0ZWQgYWZ0ZXIKKyAgICAvLyB0aGUgY3JlYXRpb24gY2FsbGJhY2sg
aXMuCisgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmICghY3Jl
YXRpb25DYWxsYmFja0NhbGxlZDEpIHsKKyAgICAgICAgICAgIGxvZygiQ3JlYXRpb24gY2FsbGJh
Y2sgZm9yIGRiMSB3YXMgbm90IGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsK
KyAgICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0gMikKKyAgICAgICAg
ICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKKworICAgIC8vIFRyeSB0byBvcGVuIGFub3RoZXIg
aGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlLgorICAgIC8vIFNpbmNlIHRoZSB2ZXJzaW9uIG9m
IHRoaXMgZGF0YWJhc2UgaXMgIiIgKGVtcHR5IHN0cmluZyksIG9wZW5EYXRhYmFzZSgpIHNob3Vs
ZCByZXR1cm4KKyAgICAvLyBhIG51bGwgaGFuZGxlIGFuZCB0aHJvdyBhIElOVkFMSURfU1RBVEVf
RVJSIGV4Y2VwdGlvbi4KKyAgICB2YXIgZGIxRmFpbCA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAg
ICAgZGIxRmFpbCA9IG9wZW5EYXRhYmFzZShkYjFOYW1lLCAiMS4wIiwgIiIsIDEpOworICAgICAg
ICBsb2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkOyBhbiBJ
TlZBTElEX1NUQVRFX0VSUiBleGNlcHRpb24gc2hvdWxkJ3ZlIGJlZW4gdGhyb3duLiIpOworICAg
ICAgICBmaW5pc2hUZXN0KCk7CisgICAgfSBjYXRjaChlcnIpIHsKKyAgICAgICAgaWYgKGRiMUZh
aWwpIHsKKyAgICAgICAgICAgIGxvZygiZGIxRmFpbCBzaG91bGQgaGF2ZSBiZWVuIG51bGwuIik7
CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBP
cGVuIGEgaGFuZGxlIHRvIGFub3RoZXIgZGF0YWJhc2UsIGZpcnN0IHdpdGhvdXQgYSBjcmVhdGlv
biBjYWxsYmFjaywgdGhlbiB3aXRoIG9uZS4KKyAgICAvLyBNYWtlIHN1cmUgdGhlIGNyZWF0aW9u
IGNhbGxiYWNrIGlzIG5vdCBjYWxsZWQuCisgICAgdmFyIGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQy
ID0gZmFsc2U7CisgICAgdmFyIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3BlbkRhdGFiYXNlQ3JlYXRp
b25DYWxsYmFjazIiLCAiMS4wIiwgIiIsIDEpOworICAgIGRiMiA9IG9wZW5EYXRhYmFzZSgiT3Bl
bkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFjazIiLCAiMS4wIiwgIiIsIDEsCisgICAgICAgICAgICAg
ICAgICAgICAgIGZ1bmN0aW9uKGRiKSB7IGNyZWF0aW9uQ2FsbGJhY2tDYWxsZWQyID0gdHJ1ZTsg
fSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGlmIChjcmVh
dGlvbkNhbGxiYWNrQ2FsbGVkMikgeworICAgICAgICAgICAgbG9nKCJDcmVhdGlvbiBjYWxsYmFj
ayBmb3IgZGIyIHNob3VsZCBub3QgaGF2ZSBiZWVuIGNhbGxlZC4iKTsKKyAgICAgICAgICAgIGZp
bmlzaFRlc3QoKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoKyt0cmFuc2FjdGlvbnNSdW4gPT0g
MikKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KK1RoaXMgdGVzdCB0ZXN0cyBvcGVu
RGF0YWJhc2UoKSdzIGNyZWF0aW9uIGNhbGxiYWNrLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3By
ZT4KKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93
ZWJzcWwvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzJlMmZmYzMwZDRhNDY1YmRkZWJjOTliZjAzNjc5NTk5ZWY5OGZmNwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJh
c2UtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitUaGlzIHRlc3Rz
IHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0cmluZyBk
b2VzIG5vdCBjYXVzZSBhbiBleGNlcHRpb24gdG8gYmUgdGhyb3duLgorU1VDQ0VTUyEgRGlkIG5v
dCB0aHJvdyBhbiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2
MDQxMTM4M2YxOGNmODBjOWM0YWQ4MzhmNzE1NDliNjljNjY3NmMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLWVtcHR5LXZlcnNpb24u
aHRtbApAQCAtMCwwICsxLDIyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAKKyAgICB0cnkgeyAg
ICAKKyAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCc1NTYyNDcwVGVzdCcsICcnLCAnVGVz
dCBmb3IgPHJkYXI6Ly9wcm9ibGVtLzU1NjI0NzA+IG9wZW5EYXRhYmFzZSBkb2VzIG5vdCB3b3Jr
IHdoZW4gdGhlIHZlcnNpb24gc3RyaW5nIGlzIGVtcHR5JywgMSk7CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0g
J0ZBSUxVUkUnCisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+Cis8ZGl2PlRoaXMgdGVzdHMgdGhhdCBjYWxsaW5nIG9wZW5EYXRhYmFzZSB3aXRo
IGFuIGVtcHR5IHZlcnNpb24gc3RyaW5nIGRvZXMgbm90IGNhdXNlIGFuIGV4Y2VwdGlvbiB0byBi
ZSB0aHJvd24uCis8ZGl2IGlkPSJyZXN1bHQiPgorU1VDQ0VTUyEgRGlkIG5vdCB0aHJvdyBhbiBl
eGNlcHRpb24uCis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLW92ZXItcXVvdGEtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwYzE1ZTQyMDRmNTYxMjM3NjhjZDFlNWVlNmMyNmFhZThk
YjZiMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVu
LWRhdGFiYXNlLW92ZXItcXVvdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorVGhpcyB0
ZXN0cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNu
J3QgYXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmE5MjY0ZGUzM2RmMTE3NDQ5YjRjM2U1M2E2N2NmZWY5NjQ0MWJmZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90
YS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICB9CisKKyAgICB0cnkgewor
ICAgICAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2UoJ092ZXJRdW90YU9wZW4nLCAnJywgJ1Rlc3Qg
Zm9yIGJ1ZyAzNjQ3MzogbWlzc2luZyBsb2NrIGluIGNhbGwgdG8gZG9uZUNyZWF0aW5nRGF0YWJh
c2UnLCAxMDAwMDAwMCk7CisgICAgfSBjYXRjaCAoZXJyKSB7CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSAnUEFTUycKKyAgICB9Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxkaXY+VGhpcyB0ZXN0
cyB0aGF0IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYSBzaXplIG92ZXIgNU1CIGRvZXNuJ3Qg
YXNzZXJ0IG9uIGRlYnVnIGJ1aWxkcy4KKzxkaXYgaWQ9InJlc3VsdCI+CitGQUlMOiBXZSBzaG91
bGRuJ3QgaGF2ZSBiZWVuIGFibGUgdG8gb3BlbiB0aGUgZGF0YWJhc2UuCis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4t
ZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDFkOTk2MDM0NGNmNTA4NDJmN2ZlOTU4ZWU3YzZkZTI3NjRiMmRmOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Ut
c2V0LWVtcHR5LXZlcnNpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQ09OU09MRSBN
RVNTQUdFOiB1bmFibGUgdG8gb3BlbiBkYXRhYmFzZSwgdmVyc2lvbiBtaXNtYXRjaCwgJ3Rlc3Qn
IGRvZXMgbm90IG1hdGNoIHRoZSBjdXJyZW50VmVyc2lvbiBvZiAnJworVGhpcyB0ZXN0cyB0aGF0
IGNhbGxpbmcgb3BlbkRhdGFiYXNlIHdpdGggYW4gZW1wdHkgdmVyc2lvbiBzdHJpbmcgc2V0cyB0
aGUgY3VycmVudCB2ZXJzaW9uIG9mIHRoYXQgZGF0YWJhc2UgdG8gdGhlIGVtcHR5IHN0cmluZyBh
bmQgc3Vic2VxdWVudCBhdHRlbXB0cyB0byBvcGVuIHRoZSBkYXRhYmFzZSB3aXRoIGEgZGlmZmVy
ZW50IGV4cGVjdGVkIHZlcnNpb24gdGhyb3cgYW4gZXhjZXB0aW9uLgorU1VDQ0VTUywgYW4gZXhj
ZXB0aW9uIHdhcyB0aHJvd24uIEVycm9yOiBJTlZBTElEX1NUQVRFX0VSUjogRE9NIEV4Y2VwdGlv
biAxMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFz
ZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Bl
bi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzNjA3ZmQxOWM5
ZDc4NTFkMmEwZWZhNDNlMzUwNDBhYzk5ZWRmNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXNldC1lbXB0eS12ZXJzaW9uLmh0bWwK
QEAgLTAsMCArMSwyNiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5U
ZXN0KCkgeworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgIH0KKyAgICAKKyAgICB0cnkgeyAgICAK
KyAgICAgICAgdmFyIGRiID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3QnLCAnJywgJ1Rlc3QgZm9y
IGJ1ZyAyODQxNzogb3BlbkRhdGFiYXNlKCkgd2l0aCBlbXB0eSB2ZXJzaW9uIHNldHMgZGIgdmVy
c2lvbiB1cCBpbmNvcnJlY3RseScsIDApOworICAgICAgICAvLyBUaGUgbmV4dCBvcGVuRGF0YWJh
c2UgY2FsbCBzaG91bGQgZmFpbCBiZWNhdXNlIHRoZSBkYXRhYmFzZSB2ZXJzaW9uIHdhcyBzZXQg
dG8gJycgYnkgdGhlIGNhbGwgYWJvdmUsIGFuZCBub3cgd2UgYXJlIGV4cGVjdGluZyBhIGRpZmZl
cmVudCB2ZXJzaW9uLgorICAgICAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCcyODQxN1Rlc3Qn
LCAndGVzdCcsICdUZXN0IGZvciBidWcgMjg0MTc6IG9wZW5EYXRhYmFzZSgpIHdpdGggZW1wdHkg
dmVyc2lvbiBzZXRzIGRiIHZlcnNpb24gdXAgaW5jb3JyZWN0bHknLCAwKTsKKyAgICB9IGNhdGNo
IChlKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhU
TUwgPSAnU1VDQ0VTUywgYW4gZXhjZXB0aW9uIHdhcyB0aHJvd24uICcgKyBlOworICAgIH0KK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRpdj5UaGlz
IHRlc3RzIHRoYXQgY2FsbGluZyBvcGVuRGF0YWJhc2Ugd2l0aCBhbiBlbXB0eSB2ZXJzaW9uIHN0
cmluZyBzZXRzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YgdGhhdCBkYXRhYmFzZSB0byB0aGUgZW1w
dHkgc3RyaW5nIGFuZCBzdWJzZXF1ZW50IGF0dGVtcHRzIHRvIG9wZW4gdGhlIGRhdGFiYXNlIHdp
dGggYSBkaWZmZXJlbnQgZXhwZWN0ZWQgdmVyc2lvbiB0aHJvdyBhbiBleGNlcHRpb24uPC9kaXY+
Cis8ZGl2IGlkPSJyZXN1bHQiPgorRkFJTFVSRSAtIGFuIGV4Y2VwdGlvbiB3YXMgZXhwZWN0ZWQu
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGls
ZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWNhYzhh
ZmNlYmUxMWQ2MTA3ZWU4ZDhlNzY4NDFiMzU2YWJlMDM2MwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24t
aW4tcHJvZ3Jlc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBpcyBhIHRlc3Qg
dG8gc2VlIGlmIG9wZW5pbmcgYSBkYXRhYmFzZSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzIHJ1bm5p
bmcgb24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIHJlc3VsdHMgaW4g
YSBkZWFkbG9jay4KK29wZW5EYXRhYmFzZSgpIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFzZS13aGlsZS10cmFuc2FjdGlvbi1p
bi1wcm9ncmVzcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvb3Blbi1kYXRhYmFz
ZS13aGlsZS10cmFuc2FjdGlvbi1pbi1wcm9ncmVzcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwN2ExYTQ1
YzljMjM0OTU0YmUyZTAwOTdlOTA3OWI2NTQ3NzFjYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWlu
LXByb2dyZXNzLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJvcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5UZXN0KCk7Ij4KK1RoaXMgaXMg
YSB0ZXN0IHRvIHNlZSBpZiBvcGVuaW5nIGEgZGF0YWJhc2Ugd2hpbGUgYSB0cmFuc2FjdGlvbiBp
cyBydW5uaW5nIG9uIGEgZGlmZmVyZW50IGhhbmRsZSB0byB0aGUgc2FtZSBkYXRhYmFzZSByZXN1
bHRzIGluIGEgZGVhZGxvY2suPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0
IGRpZG4ndCBydW4uCis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4t
cHJvZ3Jlc3MuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdo
aWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhMWEwYzAxNGUyMzY1
OTBlNzY0NDBhN2E0N2EwNGQwMTY0Y2EzYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dy
ZXNzLmpzCkBAIC0wLDAgKzEsNDEgQEAKKy8vIE9wZW5zIHRoZSBkYXRhYmFzZSB1c2VkIGluIHRo
aXMgdGVzdCBjYXNlCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1cm4g
b3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiT3BlbkRhdGFiYXNlV2hpbGVUcmFuc2FjdGlvbkluUHJv
Z3Jlc3NUZXN0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS4wIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBj
YWxsaW5nIG9wZW5EYXRhYmFzZSgpIHdoaWxlIGEgdHJhbnNhY3Rpb24gaXMgaW4gcHJvZ3Jlc3Mg
b24gYSBkaWZmZXJlbnQgaGFuZGxlIHRvIHRoZSBzYW1lIGRhdGFiYXNlIGRvZXMgbm90IHJlc3Vs
dCBpbiBhIGRlYWRsb2NrLiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjEw
MDAwMCk7IC8vIDJNQiArIGVwc2lsb24KK30KKworLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yODIwNworLy8gSW4gb3JkZXIgdG8gdHJpZ2dlciB0aGlzIGJ1
ZywgdGhlIHRyYW5zYWN0aW9uIG11c3QgYWNxdWlyZSBhbiBleGNsdXNpdmUKKy8vIGxvY2sgb24g
dGhlIERCIGZpbGUgYmVmb3JlIHRyeWluZyB0byBvYnRhaW4gYSBzZWNvbmQgaGFuZGxlIHRvIHRo
ZSBzYW1lIERCLgorLy8gVGhlIG9ubHkgd2F5IHRvIGZvcmNlIFNRTGl0ZSB0byBvYnRhaW4gYW4g
ZXhjbHVzaXZlIGxvY2sgaXMgdG8gY2hhbmdlIG1vcmUKKy8vIHRoYW4gY2FjaGVfc2l6ZSAqIHBh
Z2Vfc2l6ZSBieXRlcyBpbiB0aGUgZGF0YWJhc2UuIFRoZSBkZWZhdWx0IHZhbHVlIGZvcgorLy8g
Y2FjaGVfc2l6ZSBpcyAyMDAwIHBhZ2VzLCBhbmQgdGhlIGRlZmF1bHQgcGFnZV9zaXplIGlzIDEw
MjQgYnl0ZXMuIFNvIHRoZQorLy8gc2l6ZSBvZiB0aGUgYmxvYiBtdXN0IGJlIGF0IGxlYXN0IDJN
Qi4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBkYjEgPSBvcGVuVGVzdERhdGFiYXNl
KCk7CisgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIC8vIENyZWF0
ZSB0aGUgVGVzdCB0YWJsZSBpZiBpdCBkb2VzIG5vdCBleGlzdAorICAgICAgICB0eC5leGVjdXRl
U3FsKCJDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28gQkxPQik7Iik7CisgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFRlc3QgVkFMVUVTIChaRVJPQkxPQigyMDk3
MTUyKSk7IiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24ocmVzdWx0KSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygib3BlbkRhdGFiYXNlKCkgc3VjY2VlZGVkLiIp
OworICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rp
b24odHgsIGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZygiRXhlY3V0aW5n
IHN0YXRlbWVudCBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAg
ICAgICB9KTsKKworICAgICAgICAvLyBDbGVhbiB1cCB0aGUgREIgdG8gYWxsb3cgZm9yIHJlcGVh
dGVkIHJ1bnMgb2YgdGhpcyB0ZXN0CisgICAgICAgIC8vIHdpdGhvdXQgbmVlZGluZyB0byBpbmNy
ZWFzZSB0aGUgZGVmYXVsdCBhbGxvd2VkIHF1b3RhICg1TUIpCisgICAgICAgIHR4LmV4ZWN1dGVT
cWwoIkRFTEVURSBGUk9NIFRlc3Q7Iik7CisgICAgfSwgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAg
ICAgbG9nKCJUcmFuc2FjdGlvbiBmYWlsZWQ6ICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICB9LCBm
dW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9KTsKK30K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmct
bm9yZWFkLW5vd3JpdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
cHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjFmNjdkMmZhYzRmMjZlNmYyZDcyODAwNjg4MGQyZjVmZjUzMjkwOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3ByaXZhdGUtYnJvd3Npbmctbm9yZWFkLW5v
d3JpdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgYXR0ZW1wdHMgdG8gY2hhbmdlIHRoZSBkYXRhYmFzZSBkdXJpbmcgcHJpdmF0ZSBicm93
c2luZyBmYWlsLgorU2V0dXAgc3RhdGVtZW50IDEgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorU2V0
dXAgc3RhdGVtZW50IDIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseQorUHJpdmF0ZSBicm93c2luZyBz
dGF0ZW1lbnQgMSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgxIG5vdCBhdXRob3JpemVkKQorUHJpdmF0ZSBicm93c2luZyBzdGF0ZW1lbnQgMiBj
b21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBu
b3QgYXV0aG9yaXplZCkKK1ByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50IDMgY29tcGxldGVkIHdp
dGggYW4gZXJyb3IKK2NvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6
ZWQpCitQcml2YXRlIGJyb3dzaW5nIHN0YXRlbWVudCA0IGNvbXBsZXRlZCB3aXRoIGFuIGVycm9y
Citjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorUHJpdmF0
ZSBicm93c2luZyBzdGF0ZW1lbnQgNSBjb21wbGV0ZWQgd2l0aCBhbiBlcnJvcgorY291bGQgbm90
IHByZXBhcmUgc3RhdGVtZW50ICgyMyBhY2Nlc3MgdG8gUHJpdmF0ZVRlc3QxLnJhbmRvbURhdGEg
aXMgcHJvaGliaXRlZCkKK1Rlc3QgZW5kZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvcHJpdmF0ZS1icm93c2luZy1ub3JlYWQtbm93cml0ZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI5YjU4ODJiNGRlMWM1NjIwNjRjNWU4NDc3MDEwNjk3OWEwMWZjMTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9wcml2YXRlLWJyb3dz
aW5nLW5vcmVhZC1ub3dyaXRlLmh0bWwKQEAgLTAsMCArMSwxMDIgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorCitmdW5jdGlvbiB3cml0ZU1lc3NhZ2VUb0xvZyhtZXNzYWdlKQoreworICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJUZXh0ICs9IG1lc3NhZ2Ug
KyAiXG4iOworfQorCit2YXIgc2V0dXBTdGF0ZW1lbnRzID0gWworICAgICJDUkVBVEUgVEFCTEUg
SUYgTk9UIEVYSVNUUyBQcml2YXRlVGVzdDEgKHJhbmRvbURhdGEpIiwKKyAgICAiSU5TRVJUIElO
VE8gUHJpdmF0ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiCitdOworCit2YXIgcHJpdmF0ZUJy
b3dzaW5nU3RhdGVtZW50cyA9IFsKKyAgICAiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUHJp
dmF0ZVRlc3QyIChyYW5kb21EYXRhKSIsCisgICAgIkRFTEVURSBGUk9NIFByaXZhdGVUZXN0MSIs
CisgICAgIkRST1AgVEFCTEUgUHJpdmF0ZVRlc3QxIiwKKyAgICAiSU5TRVJUIElOVE8gUHJpdmF0
ZVRlc3QxIFZBTFVFUyAoJ3NvbWVkYXRhJykiLAorICAgICJTRUxFQ1QgKiBGUk9NIFByaXZhdGVU
ZXN0MSIKK107CisKK3ZhciBjb21wbGV0ZWQgPSAwOwordmFyIHRoZVRyYW5zYWN0aW9uOworCitm
dW5jdGlvbiBzZXR1cFN1Y2Nlc3NGdW5jdGlvbih0eCwgcmVzdWx0KQoreworICAgICsrY29tcGxl
dGVkOworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNvbXBsZXRl
ZCArICIgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSIpOworICAgIGNoZWNrU2V0dXBDb21wbGV0ZSgp
OworfQorCitmdW5jdGlvbiBzZXR1cEVycm9yRnVuY3Rpb24odHgsIGVycm9yKQoreworICAgICsr
Y29tcGxldGVkOworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJTZXR1cCBzdGF0ZW1lbnQgIiArIGNv
bXBsZXRlZCArICIgY29tcGxldGVkIHdpdGggYW4gZXJyb3JcbiIgKyBlcnJvci5tZXNzYWdlKTsK
KyAgICBjaGVja1NldHVwQ29tcGxldGUoKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dzaW5n
U3VjY2Vzc0Z1bmN0aW9uKHR4LCByZXN1bHQpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3Jp
dGVNZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQg
KyAiIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkiKTsKK30KKworZnVuY3Rpb24gcHJpdmF0ZUJyb3dz
aW5nRXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAgKytjb21wbGV0ZWQ7CisgICAgd3Jp
dGVNZXNzYWdlVG9Mb2coIlByaXZhdGUgYnJvd3Npbmcgc3RhdGVtZW50ICIgKyBjb21wbGV0ZWQg
KyAiIGNvbXBsZXRlZCB3aXRoIGFuIGVycm9yXG4iICsgZXJyb3IubWVzc2FnZSk7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBydW5TZXR1cCh0cmFuc2FjdGlvbikKK3sKKyAgICB0
aGVUcmFuc2FjdGlvbiA9IHRyYW5zYWN0aW9uOworICAgIGZvciAoaSBpbiBzZXR1cFN0YXRlbWVu
dHMpCisgICAgICAgIHRoZVRyYW5zYWN0aW9uLmV4ZWN1dGVTcWwoc2V0dXBTdGF0ZW1lbnRzW2ld
LCBbXSwgc2V0dXBTdWNjZXNzRnVuY3Rpb24sIHNldHVwRXJyb3JGdW5jdGlvbik7Cit9CisKK2Z1
bmN0aW9uIGNoZWNrU2V0dXBDb21wbGV0ZSgpCit7CisgICAgaWYgKGNvbXBsZXRlZCA9PSBzZXR1
cFN0YXRlbWVudHMubGVuZ3RoKQorICAgICAgICBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpOwor
fQorCitmdW5jdGlvbiBydW5Qcml2YXRlQnJvd3NpbmdUZXN0cygpCit7CisgICAgY29tcGxldGVk
ID0gMDsKKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLnNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQodHJ1ZSk7CisgICAg
CisgICAgZm9yIChpIGluIHByaXZhdGVCcm93c2luZ1N0YXRlbWVudHMpCisgICAgICAgIHRoZVRy
YW5zYWN0aW9uLmV4ZWN1dGVTcWwocHJpdmF0ZUJyb3dzaW5nU3RhdGVtZW50c1tpXSwgW10sIHBy
aXZhdGVCcm93c2luZ1N1Y2Nlc3NGdW5jdGlvbiwgcHJpdmF0ZUJyb3dzaW5nRXJyb3JGdW5jdGlv
bik7Cit9CisKK2Z1bmN0aW9uIGVuZFRlc3QoKQoreworICAgIHdyaXRlTWVzc2FnZVRvTG9nKCJU
ZXN0IGVuZGVkIik7CisgICAgCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlv
biBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIHZhciBkYXRhYmFz
ZSA9IG9wZW5EYXRhYmFzZSgiUHJpdmF0ZUJyb3dzaW5nTm9SZWFkTm9Xcml0ZVRlc3QiLCAiMS4w
IiwgIlRlc3QgcHJpdmF0ZSBicm93c2luZyBubyByZWFkL3dyaXRlIHNhZmV0eSIsIDEpOworICAg
IGRhdGFiYXNlLnRyYW5zYWN0aW9uKHJ1blNldHVwLCBlbmRUZXN0LCBlbmRUZXN0KTsKK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgdGhhdCBhdHRlbXB0cyB0byBjaGFuZ2UgdGhlIGRhdGFiYXNlIGR1cmluZyBw
cml2YXRlIGJyb3dzaW5nIGZhaWwuPGJyPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90
YS10cmFja2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90
YS10cmFja2luZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NjBmMGMwNGRkNzU2ZmM4ZDQ3
NGIzNzliZTNhNWZjN2Y3Y2U4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3F1b3RhLXRyYWNraW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE1IEBACitV
SSBERUxFR0FURSBEQVRBQkFTRSBDQUxMQkFDSzogZXhjZWVkZWREYXRhYmFzZVF1b3RhRm9yU2Vj
dXJpdHlPcmlnaW46e2ZpbGUsICwgMH0gZGF0YWJhc2U6UXVvdGFNYW5hZ2VtZW50RGF0YWJhc2Uy
CitUaGlzIHRlc3QgY2hlY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHF1b3RhcyBhcmUgZW5mb3JjZWQg
cGVyLW9yaWdpbiBpbnN0ZWFkIG9mIHBlci1kYXRhYmFzZSwgYXMgdGhleSB3ZXJlIHByaW9yIHRv
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvcHJvamVjdHMvd2Via2l0L2NoYW5nZXNldC8yOTk4My4K
K1RoZSB0ZXN0IGNsZWFycyBhbGwgZGF0YWJhc2VzLCBzZXRzIHRoZSBxdW90YSBmb3IgdGhlIG9y
aWdpbiB0byA0MGssIHRoZW4gdHJpZXMgdG8gaW5zZXJ0IDE3ayBvZiBkYXRhIGludG8gdHdvIGRh
dGFiYXNlcy4gSWYgdGhpbmdzIGdvIGFzIHBsYW5uZWQsIHRoZSBzZWNvbmQgaW5zZXJ0IHNob3Vs
ZCBmYWlsLCB0aGUgVUkgRGVsZWdhdGUgc2hvdWxkIGJlIGluZm9ybWVkIG9mIHRoZSBleGNlZWRl
ZCBxdW90YSBhbmQgc2hvdWxkIGluY3JlYXNlIHRoZSBxdW90YSBmb3IgdGhpcyBvcmlnaW4uIElu
c2VydGluZyAxN2sgb2YgZGF0YSB0aGUgdGhpcmQgdGltZSBzaG91bGQgc3VjY2VlZCBhZ2Fpbi4K
K0FkZGluZyBhIHRhYmxlCitJbnNlcnRpbmcgc29tZSBkYXRhCitEb25lIGFkZGluZyBkYXRhCitB
ZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5nIHNvbWUgZGF0YQorRXhwZWN0ZWQgcXVvdGEgZXhjZXB0
aW9uIC0gdGhlcmUgd2FzIG5vdCBlbm91Z2ggcmVtYWluaW5nIHN0b3JhZ2Ugc3BhY2UsIG9yIHRo
ZSBzdG9yYWdlIHF1b3RhIHdhcyByZWFjaGVkIGFuZCB0aGUgdXNlciBkZWNsaW5lZCB0byBhbGxv
dyBtb3JlIHNwYWNlCitEb25lIGFkZGluZyBkYXRhCitBZGRpbmcgYSB0YWJsZQorSW5zZXJ0aW5n
IHNvbWUgZGF0YQorRG9uZSBhZGRpbmcgZGF0YQorVGVzdCBDb21wbGV0ZQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9xdW90YS10cmFja2luZy5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTUy
NTIzYjE2M2YwNTQ1NTg4YTg4ZWIxMzEwYmRmZDhjNjYyM2ExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcXVvdGEtdHJhY2tpbmcuaHRtbApAQCAtMCwwICsx
LDExMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Cit2YXIgZGF0YWJhc2UxID0gbnVsbDsK
K3ZhciBkYXRhYmFzZTIgPSBudWxsOwordmFyIGRhdGFiYXNlMyA9IG51bGw7CisKK2Z1bmN0aW9u
IGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIiku
aW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3Qo
KQoreworICAgIGxvZygiVGVzdCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
K30KKworZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JGdW5jdGlvbih0eCwgZXJyb3IpCit7CisgICAg
bG9nKCJVbmV4cGVjdGVkIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICBmaW5p
c2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JGdW5jdGlvbihkYiwgZXJy
b3IpCit7CisgICAgLy8gV2Ugb25seSBleHBlY3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgZGF0YWJh
c2UyCisgICAgaWYgKGRiID09IGRhdGFiYXNlMikgeworICAgICAgICBsb2coIkV4cGVjdGVkIHF1
b3RhIGV4Y2VwdGlvbiAtICIgKyBlcnJvci5tZXNzYWdlKTsKKyAgICAgICAgY2hlY2tDb21wbGV0
aW9uKGRiKTsKKyAgICB9IGVsc2UgeworICAgICAgICBsb2coIlVuZXhwZWN0ZWQgZXhjZXB0aW9u
IC0gIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgfQorfQor
CitmdW5jdGlvbiBjaGVja0NvbXBsZXRpb24oZGIpCit7CisgICAgbG9nKCJEb25lIGFkZGluZyBk
YXRhIik7CisKKyAgICBpZiAoZGF0YWJhc2UzKSB7CisgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICB9IGVsc2UgaWYgKGRhdGFiYXNlMikgeworICAgICAgICBkYXRhYmFzZTMgPSBvcGVuRGF0YWJh
c2UoIlF1b3RhTWFuYWdlbWVudERhdGFiYXNlMyIsICIxLjAiLCAiVGVzdCBmb3IgcXVvdGEgbWFu
YWdlbWVudCA8cmRhcjovLzU2Mjg0Njg+IiwgMSk7CisgICAgICAgIHRlc3REYXRhYmFzZShkYXRh
YmFzZTMpOworICAgIH0gZWxzZSB7CisgICAgICAgIGRhdGFiYXNlMiA9IG9wZW5EYXRhYmFzZSgi
UXVvdGFNYW5hZ2VtZW50RGF0YWJhc2UyIiwgIjEuMCIsICJUZXN0IGZvciBxdW90YSBtYW5hZ2Vt
ZW50IDxyZGFyOi8vNTYyODQ2OD4iLCAxKTsKKyAgICAgICAgdGVzdERhdGFiYXNlKGRhdGFiYXNl
Mik7CisgICAgfQorfQorCitmdW5jdGlvbiBhZGREYXRhKGRiKQoreworICAgIGRiLnRyYW5zYWN0
aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxvZygiSW5zZXJ0aW5nIHNvbWUgZGF0YSIpOwor
ICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBEYXRhVGVzdCAocmFuZG9tRGF0YSkg
VkFMVUVTIChaRVJPQkxPQigxNzQwOCkpIiwgW10sCisgICAgICAgICAgICAgICAgICAgICAgZnVu
Y3Rpb24odHgsIHJlc3VsdCkgeyB9LCBzdGF0ZW1lbnRFcnJvckZ1bmN0aW9uKTsKKyAgICAgICAg
aWYgKGRiID09IGRhdGFiYXNlMikgeworICAgICAgICAgICAgLy8gVHJ5IHRvIHJ1biB0aGlzIHN0
YXRlbWVudCBvbiAnZGF0YWJhc2UyJyBvbmx5LgorICAgICAgICAgICAgLy8gSXQgc2hvdWxkIG5v
dCBiZSBydW4sIGJlY2F1c2UgdGhlIHByZXZpb3VzIHN0YXRlbWVudCBzaG91bGQndmUKKyAgICAg
ICAgICAgIC8vIHJlc3VsdGVkIGluIGEgZmFpbHVyZSB0aGF0IG1hZGUgc3FsaXRlIHJvbGwgYmFj
ayB0aGUgZW50aXJlIHRyYW5zYWN0aW9uLgorICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gRGF0YVRlc3QgKHJhbmRvbURhdGEpIFZBTFVFUyAoWkVST0JMT0IoMTApKSIsIFtd
LAorICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIlRoaXMgc3RhdGVtZW50IHNob3VsZCBub3Qg
aGF2ZSBiZWVuIHJ1bi4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaFRl
c3QoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlv
bik7CisgICAgICAgIH0KKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICB0cmFuc2Fj
dGlvbkVycm9yRnVuY3Rpb24oZGIsIGVycm9yKTsKKyAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgY2hlY2tDb21wbGV0aW9uKGRiKTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24gdGVzdERhdGFi
YXNlKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIGxv
ZygiQWRkaW5nIGEgdGFibGUiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxF
IERhdGFUZXN0IChyYW5kb21EYXRhKSIsIFtdLAorICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKHR4LCByZXN1bHQpIHsgfSwgc3RhdGVtZW50RXJyb3JGdW5jdGlvbik7CisgICAgfSwgZnVu
Y3Rpb24oZXJyb3IpIHsKKyAgICAgICAgdHJhbnNhY3Rpb25FcnJvckZ1bmN0aW9uKGRiLCBlcnJv
cik7CisgICAgfSwgZnVuY3Rpb24oKSB7CisgICAgICAgIGFkZERhdGEoZGIpOworICAgIH0pOwor
fQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2Vz
KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBEYXRhYmFzZUNhbGxiYWNrcygp
OworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXREYXRhYmFzZVF1b3RhKDQwOTYwKTsK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgZGF0YWJhc2Ux
ID0gb3BlbkRhdGFiYXNlKCJRdW90YU1hbmFnZW1lbnREYXRhYmFzZTEiLCAiMS4wIiwgIlRlc3Qg
Zm9yIHF1b3RhIG1hbmFnZW1lbnQgPHJkYXI6Ly81NjI4NDY4PiIsIDEpOworICAgIHRlc3REYXRh
YmFzZShkYXRhYmFzZTEpOworfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhhdCBxdW90YXMg
YXJlIGVuZm9yY2VkIHBlci1vcmlnaW4gaW5zdGVhZCBvZiBwZXItZGF0YWJhc2UsIGFzIHRoZXkg
d2VyZSBwcmlvciB0byBodHRwOi8vdHJhYy53ZWJraXQub3JnL3Byb2plY3RzL3dlYmtpdC9jaGFu
Z2VzZXQvMjk5ODMuPGJyPgorVGhlIHRlc3QgY2xlYXJzIGFsbCBkYXRhYmFzZXMsIHNldHMgdGhl
IHF1b3RhIGZvciB0aGUgb3JpZ2luIHRvIDQwaywgdGhlbiB0cmllcyB0byBpbnNlcnQgMTdrIG9m
IGRhdGEgaW50byB0d28gZGF0YWJhc2VzLiBJZiB0aGluZ3MgZ28gYXMgcGxhbm5lZCwgdGhlIHNl
Y29uZCBpbnNlcnQgc2hvdWxkIGZhaWwsIHRoZSBVSSBEZWxlZ2F0ZSBzaG91bGQgYmUgaW5mb3Jt
ZWQgb2YgdGhlIGV4Y2VlZGVkIHF1b3RhIGFuZCBzaG91bGQgaW5jcmVhc2UgdGhlIHF1b3RhIGZv
ciB0aGlzIG9yaWdpbi4gSW5zZXJ0aW5nIDE3ayBvZiBkYXRhIHRoZSB0aGlyZCB0aW1lIHNob3Vs
ZCBzdWNjZWVkIGFnYWluLgorPHByZSBpZD0iY29uc29sZSI+Cis8L3ByZT4KKzwvYm9keT4KKwor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC1hbmQt
d3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1
bi10b2dldGhlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2M4OTc5YzNjYjUwN2Q5MjAwMDU3
N2Y4ZmZjYzc3MDQ3ZjIxNTdkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgcmVhZCBh
bmQgd3JpdGUgdHJhbnNhY3Rpb25zIG9uIGRpZmZlcmVudCBoYW5kbGVzIHRvIHRoZSBzYW1lIGRh
dGFiYXNlIGRvbid0IHJ1biB0b2dldGhlci4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFu
c2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9u
IHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgorVHJhbnNhY3Rpb24gc3VjY2Vz
c2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCitUcmFuc2FjdGlvbiBzdWNjZXNzZnVsLgor
VHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4KK1RyYW5zYWN0aW9uIHN1Y2Nlc3NmdWwuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0
aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
cmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTFkYTM1Njc4YzFjMDE0ODJhNjQ1MTQ1MmVjYTQ1MDBmOGZjOTg1NgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5z
YWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RhdGFiYXNlLWNvbW1vbi5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRv
Z2V0aGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0dXBBbmRSdW5U
ZXN0KCk7Ij4KK1RoaXMgdGVzdCB0ZXN0cyB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9u
cyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBkb24ndCBydW4gdG9n
ZXRoZXIuPGJyPgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4u
Cis8L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9ucy1kb250LXJ1bi10b2dldGhlci5q
cyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtYW5kLXdyaXRlLXRyYW5zYWN0aW9u
cy1kb250LXJ1bi10b2dldGhlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjgxN2JhZDMzMDczNzFkN2FkMTk5
YjQwYmYxMTliNWIwNTYzN2Q0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS93ZWJzcWwvcmVhZC1hbmQtd3JpdGUtdHJhbnNhY3Rpb25zLWRvbnQtcnVuLXRvZ2V0aGVyLmpz
CkBAIC0wLDAgKzEsODEgQEAKK2Z1bmN0aW9uIHRlcm1pbmF0ZVRlc3QoKQoreworICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gb3BlblRlc3REYXRhYmFzZSgpCit7CisgICAg
cmV0dXJuIG9wZW5EYXRhYmFzZVdpdGhTdWZmaXgoIlJlYWRBbmRXcml0ZVRyYW5zYWN0aW9uc0Rv
bnRSdW5Ub2dldGhlclRlc3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIx
LjAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUZXN0IHRvIG1ha2Ugc3Vy
ZSB0aGF0IHJlYWQgYW5kIHdyaXRlIHRyYW5zYWN0aW9ucyBvbiBkaWZmZXJlbnQgREIgaGFuZGxl
cyB0byB0aGUgc2FtZSBEQiBkb24ndCBydW4gYXQgdGhlIHNhbWUgdGltZS4iLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDMyNzY4KTsKK30KKwordmFyIHJlYWRUcmFuc2FjdGlv
bnNJblByb2dyZXNzID0gMDsKK3ZhciB3cml0ZVRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPSAwOwor
dmFyIHRvdGFsVHJhbnNhY3Rpb25zID0gMDsKK3ZhciBmaW5pc2hlZFRyYW5zYWN0aW9ucyA9IDA7
CisKK2Z1bmN0aW9uIHJ1blRyYW5zYWN0aW9uKGRiLCByZWFkT25seSkKK3sKKyAgICB2YXIgdHJh
bnNhY3Rpb25GdW5jdGlvbiA9IChyZWFkT25seSA/IGRiLnJlYWRUcmFuc2FjdGlvbiA6IGRiLnRy
YW5zYWN0aW9uKTsKKyAgICB0cmFuc2FjdGlvbkZ1bmN0aW9uLmNhbGwoZGIsIGZ1bmN0aW9uKHR4
KSB7CisgICAgICAgICAgICBpZiAocmVhZE9ubHkpIHsKKyAgICAgICAgICAgICAgICBpZiAod3Jp
dGVUcmFuc2FjdGlvbnNJblByb2dyZXNzICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgbG9n
KCJSZWFkIHRyYW5zYWN0aW9uIHN0YXJ0aW5nIHdoaWxlIHdyaXRlIHRyYW5zYWN0aW9uIGluIHBy
b2dyZXNzLiIpOworICAgICAgICAgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICgocmVhZFRyYW5zYWN0
aW9uc0luUHJvZ3Jlc3MgIT0gMCkgfHwgKHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcyAhPSAw
KSkgeworICAgICAgICAgICAgICAgICAgICBsb2coIldyaXRlIHRyYW5zYWN0aW9uIHN0YXJ0aW5n
IHdoaWxlIGFub3RoZXIgdHJhbnNhY3Rpb24gaW4gcHJvZ3Jlc3MuIik7CisgICAgICAgICAgICAg
ICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgd3JpdGVUcmFuc2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgKiBGUk9NIFRlc3Q7Iik7CisgICAgICAgIH0sIGZ1
bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICBsb2coKHJlYWRPbmx5ID8gIlJlYWQiIDogIldy
aXRlIikgKyAiIHRyYW5zYWN0aW9uIGZhaWxlZDogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAg
ICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAgICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICBmaW5pc2hlZFRyYW5zYWN0aW9ucysrOworICAgICAgICAgICAgIGlmIChyZWFkT25seSkK
KyAgICAgICAgICAgICAgICAgcmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MtLTsKKyAgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgIHdyaXRlVHJhbnNhY3Rpb25zSW5Qcm9ncmVzcy0t
OworICAgICAgICAgICAgIGxvZygiVHJhbnNhY3Rpb24gc3VjY2Vzc2Z1bC4iKTsKKyAgICAgICAg
ICAgICBpZiAoKGZpbmlzaGVkVHJhbnNhY3Rpb25zID09IHRvdGFsVHJhbnNhY3Rpb25zKSAmJiAo
cmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkgJiYgKHdyaXRlVHJhbnNhY3Rpb25zSW5Q
cm9ncmVzcyA9PSAwKSkKKyAgICAgICAgICAgICAgICAgdGVybWluYXRlVGVzdCgpOworICAgICAg
ICB9KTsKK30KKworZnVuY3Rpb24gcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIy
LCBkYjMpCit7CisgICAgdG90YWxUcmFuc2FjdGlvbnMgPSAxMDsKKyAgICBmaW5pc2hlZFRyYW5z
YWN0aW9ucyA9IDA7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIxLCB0cnVlKTsKKyAgICBydW5UcmFu
c2FjdGlvbihkYjIsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMSwgZmFsc2UpOworICAg
IHJ1blRyYW5zYWN0aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIyLCB0cnVl
KTsKKyAgICBydW5UcmFuc2FjdGlvbihkYjMsIHRydWUpOworICAgIHJ1blRyYW5zYWN0aW9uKGRi
MSwgZmFsc2UpOworICAgIHJ1blRyYW5zYWN0aW9uKGRiMiwgZmFsc2UpOworICAgIHJ1blRyYW5z
YWN0aW9uKGRiMSwgdHJ1ZSk7CisgICAgcnVuVHJhbnNhY3Rpb24oZGIzLCB0cnVlKTsKK30KKwor
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICB2YXIgZGIxID0gb3BlblRlc3REYXRhYmFzZSgpOwor
ICAgIHZhciBkYjIgPSBvcGVuVGVzdERhdGFiYXNlKCk7CisgICAgdmFyIGRiMyA9IG9wZW5UZXN0
RGF0YWJhc2UoKTsKKyAgICBkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAg
ICAgIHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFRlc3QgKEZvbyBp
bnQpOyIpOworICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgbG9nKCJD
YW5ub3QgY3JlYXRlIHRoZSBUZXN0IHRhYmxlOiAiICsgZXJyb3IubWVzc2FnZSk7CisgICAgICAg
ICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgcnVuUmVhZEFuZFdyaXRlVHJhbnNhY3Rpb25zKGRiMSwgZGIyLCBkYjMpOworICAgICAgICB9
KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNh
Y3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3JlYWQtdHJhbnNhY3Rpb25zLXJ1bm5pbmctY29uY3VycmVudGx5LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNThkMmRmZTZhYmIxYTMxNDU3ZWI1MTc5ZWRmNGNmMDAwODFm
Njg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10
cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdHdvIHJlYWQtb25seSB0cmFuc2FjdGlvbnMgb24g
ZGlmZmVyZW50IGhhbmRsZXMgdG8gdGhlIHNhbWUgZGF0YWJhc2UgcnVuIGNvbmN1cnJlbnRseS4K
K1JlYWQgdHJhbnNhY3Rpb25zIHJ1bm5pbmcgY29uY3VycmVudGx5LgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZWFkLXRyYW5zYWN0aW9ucy1ydW5uaW5nLWNvbmN1
cnJlbnRseS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlv
bnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMmQ4NjJjMWU2Y2U4MjRm
NDA4ODU4NTg0Yjk1ODcxOWI5NWNjMGJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS93ZWJzcWwvcmVhZC10cmFuc2FjdGlvbnMtcnVubmluZy1jb25jdXJyZW50bHkuaHRt
bApAQCAtMCwwICsxLDY3IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KKworZnVuY3Rpb24g
bG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgKz0gbWVzc2FnZSAr
ICI8YnI+IjsKK30KKworZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBvcGVuVGVzdERhdGFiYXNlKCkKK3sKKyAgICByZXR1
cm4gb3BlbkRhdGFiYXNlKCJSZWFkVHJhbnNhY3Rpb25zUnVubmluZ0NvbmN1cnJlbnRseVRlc3Qi
LAorICAgICAgICAgICAgICAgICAgICAgICAgIjEuMCIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAiVGVzdCB0byBtYWtlIHN1cmUgdGhhdCBtdWx0aXBsZSByZWFkIHRyYW5zYWN0aW9ucyBvbiBk
aWZmZXJlbnQgREIgaGFuZGxlcyB0byB0aGUgc2FtZSBEQiBydW4gY29uY3VycmVudGx5LiIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAzMjc2OCk7Cit9CisKK3ZhciByZWFkVHJhbnNhY3Rpb25z
SW5Qcm9ncmVzcyA9IDA7CisKK2Z1bmN0aW9uIHJ1blJlYWRUcmFuc2FjdGlvbihkYikKK3sKKyAg
ICBkYi5yZWFkVHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgIHJlYWRUcmFu
c2FjdGlvbnNJblByb2dyZXNzKys7CisgICAgICAgIH0sIGZ1bmN0aW9uKGVycm9yKSB7CisgICAg
ICAgICAgICBsb2coIlJlYWQgdHJhbnNhY3Rpb24gZmFpbGVkOiAiICsgZXJyb3IubWVzc2FnZSk7
CisgICAgICAgICAgICB0ZXJtaW5hdGVUZXN0KCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgaWYgKHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzID09IDIpCisgICAgICAg
ICAgICAgICAgbG9nKCJSZWFkIHRyYW5zYWN0aW9ucyBydW5uaW5nIGNvbmN1cnJlbnRseS4iKTsK
KyAgICAgICAgICAgIHJlYWRUcmFuc2FjdGlvbnNJblByb2dyZXNzLS07CisgICAgICAgICAgICBp
ZiAocmVhZFRyYW5zYWN0aW9uc0luUHJvZ3Jlc3MgPT0gMCkKKyAgICAgICAgICAgICAgICB0ZXJt
aW5hdGVUZXN0KCk7CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGRiMSA9IG9wZW5U
ZXN0RGF0YWJhc2UoKTsKKyAgICAgICAgdmFyIGRiMiA9IG9wZW5UZXN0RGF0YWJhc2UoKTsKKyAg
ICAgICAgZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgdHgu
ZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVzdCAoRm9vIGludCk7Iik7
CisgICAgICAgICAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAgICAgICAgIGxvZygi
Q2Fubm90IGNyZWF0ZSB0aGUgVGVzdCB0YWJsZTogIiArIGVycm9yLm1lc3NhZ2UpOworICAgICAg
ICAgICAgICAgIHRlcm1pbmF0ZVRlc3QoKTsKKyAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgIHJ1blJlYWRUcmFuc2FjdGlvbihkYjEpOworICAgICAgICAgICAgICAg
IHJ1blJlYWRUcmFuc2FjdGlvbihkYjIpOworICAgICAgICAgICAgfSk7CisgICAgIH0gY2F0Y2go
ZXJyKSB7IGxvZyhlcnIpOyB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0d28gcmVhZC1vbmx5IHRyYW5zYWN0
aW9ucyBvbiBkaWZmZXJlbnQgaGFuZGxlcyB0byB0aGUgc2FtZSBkYXRhYmFzZSBydW4gY29uY3Vy
cmVudGx5Ljxicj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQx
ZWI0MTAyZTUxOGNkOTk2NWUzY2EwZTQwMTJiMmE1MWQ1MWZlNzgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9uLmpz
CkBAIC0wLDAgKzEsMjkgQEAKK3ZhciBEQl9URVNUX1NVRkZJWCA9ICJfZG9tIjsKKworZnVuY3Rp
b24gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeChuYW1lLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwgc2l6
ZSwgY2FsbGJhY2spCit7CisgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiA0KSB7CisgICAgICAg
IHJldHVybiBvcGVuRGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNj
cmlwdGlvbiwgc2l6ZSwgY2FsbGJhY2spOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiBv
cGVuRGF0YWJhc2UobmFtZSArIERCX1RFU1RfU1VGRklYLCB2ZXJzaW9uLCBkZXNjcmlwdGlvbiwg
c2l6ZSk7CisgICAgfQorfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVyVGV4dCArPSBtZXNzYWdlICsgIlxuIjsK
K30KKworZnVuY3Rpb24gc2V0TG9jYXRpb25IYXNoKGhhc2gpIHsKKyAgICBsb2NhdGlvbi5oYXNo
ID0gaGFzaDsKK30KKworZnVuY3Rpb24gc2V0dXBBbmRSdW5UZXN0KCkKK3sKKyAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworICAgIH0KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVy
VGV4dCA9ICIiOworICAgIHJ1blRlc3QoKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3Jlc291cmNlcy9kYXRhYmFzZS1sb2NrLWFmdGVyLXJlbG9hZC0yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRl
ci1yZWxvYWQtMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlMGYwOWNlYTcxYTViM2Q1NjBiNmQyODczNDdl
MWQwM2Y4YmE4MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9yZXNvdXJjZXMvZGF0YWJhc2UtbG9jay1hZnRlci1yZWxvYWQtMi5odG1sCkBAIC0wLDAgKzEs
NTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVz
c2FnZSArICI8YnI+IjsKK30KKworZnVuY3Rpb24gZmluaXNoVGVzdCgpCit7CisgICAgbG9nKCJU
ZXN0IHBhcnQgMiBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVu
Y3Rpb24gZXJyb3JGdW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiAr
IGVycm9yLm1lc3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gYWRkRGF0
YShkYikKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICBsb2co
Ikluc2VydGluZyBzb21lIGRhdGEiKTsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElO
VE8gRGF0YVRlc3QgKHRlc3REYXRhKSBWQUxVRVMgKD8pIiwgWyJBIl0sCisgICAgICAgICAgICBm
dW5jdGlvbih0eCwgcmVzdWx0KSB7IH0sIGZ1bmN0aW9uKHR4LCBlcnJvcikgeyBlcnJvckZ1bmN0
aW9uKGVycm9yKTsgfSk7CisgICAgfSwgZnVuY3Rpb24oKSB7IH0sIGZ1bmN0aW9uKCkgeyBmaW5p
c2hUZXN0KCk7IH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgp
OworICAgIH0KKworICAgIHRyeSB7CisgICAgICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFz
ZSgiRGF0YWJhc2VMb2NrVGVzdCIsICIxLjAiLCAiVGVzdCBmb3IgZGF0YWJhc2UgbG9ja2luZyIs
IDUyNDI4ODApOworICAgICAgICBhZGREYXRhKGRhdGFiYXNlKTsKKyAgICB9IGNhdGNoKGUpIHsK
KyAgICAgICAgbG9nKCJFcnJvciAtIGNvdWxkIG5vdCBvcGVuIGRhdGFiYXNlIik7CisgICAgICAg
IGZpbmlzaFRlc3QoKTsKKyAgICB9Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Cis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5Pgor
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJj
ZXMvc3RyZXNzLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9yZXNvdXJj
ZXMvc3RyZXNzLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjk5YWYzYzc5NjFmNDI3YTg3YTZlZjdm
YWFmMGQxNGIyODliYzcyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3Jlc291cmNlcy9zdHJlc3MtZnJhbWUuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgordmFyIGRiOworCit0cnkgewor
ICAgIGlmICh3aW5kb3cub3BlbkRhdGFiYXNlKSB7CisgICAgICAgIGRiID0gb3BlbkRhdGFiYXNl
KCJTdHJlc3NUZXN0MiIsICIxLjAiLCAiRGF0YWJhc2Ugc3RyZXNzIHRlc3QiLCAyMDAwMDApOwor
ICAgICAgICBpZiAoIWRiKQorICAgICAgICAgICAgYWxlcnQoIkZhaWxlZCB0byBvcGVuIHRoZSBk
YXRhYmFzZSBvbiBkaXNrLiAgVGhpcyBpcyBwcm9iYWJseSBiZWNhdXNlIHRoZSB2ZXJzaW9uIHdh
cyBiYWQgb3IgdGhlcmUgaXMgbm90IGVub3VnaCBzcGFjZSBsZWZ0IGluIHRoaXMgZG9tYWluJ3Mg
cXVvdGEiKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYWxlcnQoIkNvdWxkbid0IG9wZW4gdGhlIGRh
dGFiYXNlLiAgUGxlYXNlIHRyeSB3aXRoIGEgV2ViS2l0IG5pZ2h0bHkgd2l0aCB0aGlzIGZlYXR1
cmUgZW5hYmxlZCIpOworfSBjYXRjaChlcnIpIHsgfQorCitmdW5jdGlvbiBsb2FkZWQoKQorewor
ICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwo
IlNFTEVDVCBDT1VOVCgqKSBGUk9NIFdlYmtpdFN0aWNreU5vdGVzIiwgW10sIGZ1bmN0aW9uKHJl
c3VsdCkgeworICAgICAgICAgICAgbG9hZE5vdGVzKCk7CisgICAgICAgIH0sIGZ1bmN0aW9uKHR4
LCBlcnJvcikgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIFdlYktp
dFN0aWNreU5vdGVzIChpZCBSRUFMIFVOSVFVRSwgbm90ZSBURVhUKSIsIFtdLCBmdW5jdGlvbihy
ZXN1bHQpIHsgCisgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5TRVJUIElOVE8gV2Vi
S2l0U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzEsICdUZXh0J10sIGZ1
bmN0aW9uKHJlc3VsdCkgeyAKKyAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiSU5T
RVJUIElOVE8gV2ViS2l0U3RpY2t5Tm90ZXMgKGlkLCBub3RlKSBWQUxVRVMgKD8sID8pIiwgWzIs
ICdNb3JlIFRleHQnXSwgZnVuY3Rpb24ocmVzdWx0KSB7IAorICAgICAgICAgICAgICAgICAgICAg
ICAgbG9hZE5vdGVzKCk7IAorICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rp
b24gbG9hZE5vdGVzKCkKK3sKKyAgICBkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAg
ICAgICB0eC5leGVjdXRlU3FsKCJTRUxFQ1QgaWQsIG5vdGUgRlJPTSBXZWJLaXRTdGlja3lOb3Rl
cyIsIFtdLCBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBsb2FkTm90ZXMoKTsK
KyAgICAgICAgfSwgZnVuY3Rpb24odHgsIGVycm9yKSB7CisgICAgICAgICAgICBhbGVydCgnRmFp
bGVkIHRvIHJldHJpZXZlIG5vdGVzIGZyb20gZGF0YWJhc2UgLSAnICsgZXJyb3IubWVzc2FnZSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0pOworICAgIH0pOworfQorCithZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgbG9hZGVkLCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGhpcyB0ZXN0IG5lZWRzIHRvIHJ1biB3aXRob3V0IGNyYXNoZXMgYW5kIGFzc2Vy
dGlvbiBmYWlsdXJlcyBmb3IgYSB3aGlsZS48cD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNjBjYWY1MjNiODcyOGUwYzU2NGQ2ZGE1OWFkYzZkMjg2ZmU1MmI1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlw
ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorUEFTUzogcHJvcGVydHkgJ3RpbWVzdGFt
cCcgb2ssIHR5cGUgd2FzIG51bWJlcgorUEFTUzogcHJvcGVydHkgJ2lkJyBvaywgdHlwZSB3YXMg
bnVtYmVyCitQQVNTOiBwcm9wZXJ0eSAncmVhbCcgb2ssIHR5cGUgd2FzIG51bWJlcgorUEFTUzog
cHJvcGVydHkgJ3RleHQnIG9rLCB0eXBlIHdhcyBzdHJpbmcKK1BBU1M6IHByb3BlcnR5ICdibG9i
JyBvaywgdHlwZSB3YXMgc3RyaW5nCitQQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2QxYzk4Zjg0NGMwNzNiMzllYjNhNmQ1NDVmYTQwMDMzNDRkYTFiNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVzLmh0bWwKQEAg
LTAsMCArMSwxMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9InNxbC1kYXRhLXR5cGVzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8L2JvZHk+CisK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRh
LXR5cGVzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWRhdGEtdHlwZXMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzZmY2QwMTNiNjY3ZmJiNTBlMDBiMTQwODA3MTliZDNiNDE3MWRkMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1kYXRhLXR5cGVz
LmpzCkBAIC0wLDAgKzEsODcgQEAKKy8vZGVzY3JpcHRpb24oIlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IHRoZSBqYXZhc2NyaXB0IHZhbHVlcyByZXR1cm5lZCBieSBkYXRhYmFzZSBxdWVyaWVzIGFy
ZSBvZiBzYW1lIHR5cGUgYXMgdGhlIHZhbHVlcyBwdXQgaW50byB0aGUgZGF0YWJhc2UuIik7CisK
K2Z1bmN0aW9uIHdyaXRlTWVzc2FnZVRvTG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lclRleHQgKz0gbWVzc2FnZSArICJcbiI7Cit9CisK
K2Z1bmN0aW9uIG5vdGlmeURvbmUoc3RyKSB7CisgICAgd3JpdGVNZXNzYWdlVG9Mb2coc3RyKTsK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0ZXN0VmFsdWVzID0geworICAgIHRp
bWVzdGFtcDogbmV3IERhdGUoIldlZCBGZWIgMDYgMjAwOCAxMjoxNjo1MiBHTVQrMDIwMCAoRUVU
KSIpLnZhbHVlT2YoKSwKKyAgICBpZDogMTAwMSwKKyAgICByZWFsOiAxMDEuNDQ0LAorICAgIHRl
eHQ6ICJXZWJLaXQgZGIgVEVYVCIsCisgICAgYmxvYjogInN1cGVyY2FsaWZyYWdpbGlzdGljIgor
fTsKKworZnVuY3Rpb24gc2hvdWxkQmVTYW1lVHlwZUFuZFZhbHVlKHByb3BOYW1lLCB0ZXN0VmFs
dWUsIHJlc3VsdCkgeworICAgIGlmICh0ZXN0VmFsdWUgPT0gcmVzdWx0ICYmIHR5cGVvZiB0ZXN0
VmFsdWUgPT0gdHlwZW9mIHJlc3VsdCkgeworICAgICAgICB3cml0ZU1lc3NhZ2VUb0xvZygiUEFT
UzogcHJvcGVydHkgJyIgKyBwcm9wTmFtZSArICInIG9rLCB0eXBlIHdhcyAiICsgdHlwZW9mIHJl
c3VsdCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICB3cml0ZU1lc3NhZ2VUb0xv
ZygiRkFJTDogcHJvcGVydHkgJyIgKyBwcm9wTmFtZSArICInIGZhaWxlZC4iCisgICAgICAgICsg
IiBleHBlY3RlZDogIiArIHR5cGVvZiB0ZXN0VmFsdWUgKyAiOiciICsgdGVzdFZhbHVlICsgIicg
IgorICAgICAgICArICIgZ290OiAiICsgdHlwZW9mIHJlc3VsdCArICI6JyIgKyByZXN1bHQgKyIn
Iik7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiB0ZXN0REJWYWx1ZXModHgsIHJl
c3VsdCkgeworICAgIHZhciBycyA9IHJlc3VsdC5yb3dzLml0ZW0oMCk7CisgICAgLy8gQXZvaWQg
Zm9yIC4uIGluIGJlY2F1c2UgKHRoZXJldGljYWxseSkgdGhlIG9yZGVyIGNhbiBjaGFuZ2UKKyAg
ICBpID0gInRpbWVzdGFtcCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVz
W2ldLCByc1tpXSk7CisgICAgaSA9ICJpZCI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0
ZXN0VmFsdWVzW2ldLCByc1tpXSk7CisgICAgaSA9ICJyZWFsIjsgc2hvdWxkQmVTYW1lVHlwZUFu
ZFZhbHVlKGksIHRlc3RWYWx1ZXNbaV0sIHJzW2ldKTsKKyAgICBpID0gInRleHQiOyBzaG91bGRC
ZVNhbWVUeXBlQW5kVmFsdWUoaSwgdGVzdFZhbHVlc1tpXSwgcnNbaV0pOworICAgIGkgPSAiYmxv
YiI7IHNob3VsZEJlU2FtZVR5cGVBbmRWYWx1ZShpLCB0ZXN0VmFsdWVzW2ldLCByc1tpXSk7Cisg
ICAgCisgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJMRSBEYXRhVHlwZVRlc3RUYWJsZSIsIFtd
LAorICAgICAgICBmdW5jdGlvbih0eCwgcmVzdWx0KSB7CisgICAgICAgICAgICBub3RpZnlEb25l
KCJQQVNTOiBkYXRhYmFzZSBjbGVhbiB1cCBvay4iKTsKKyAgICAgICAgfSwKKyAgICAgICAgZnVu
Y3Rpb24odHgsIHJlc3VsdCkgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRGF0YWJh
c2UgY2xlYW4gdXAgZmFpbGVkLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24gZmV0Y2hE
QlZhbHVlc1N0bXQodHgsIHJlc3VsdCkgeworICAgIHR4LmV4ZWN1dGVTcWwoIlNFTEVDVCAqIEZS
T00gRGF0YVR5cGVUZXN0VGFibGUiLCBbXSwKKyAgICAgICAgdGVzdERCVmFsdWVzLAorICAgICAg
ICBmdW5jdGlvbih0eCxlcnJvcikgeworICAgICAgICAgICAgbm90aWZ5RG9uZSgiRkFJTDogRXJy
b3IgZmV0Y2hpbmcgdmFsdWVzIGZyb20gdGhlIGRiLiIpCisgICAgICAgIH0pOworfQorCitmdW5j
dGlvbiBpbnNlcnRUZXN0VmFsdWVzU3RtdCh0eCwgcmVzdWx0KSB7CisgICAgdHguZXhlY3V0ZVNx
bCgiSU5TRVJUIElOVE8gRGF0YVR5cGVUZXN0VGFibGUgKGlkLCByZWFsLCB0aW1lc3RhbXAsIHRl
eHQsIGJsb2IpIFZBTFVFUyAoPyw/LD8sPyw/KSIsCisgICAgICAgIFt0ZXN0VmFsdWVzLmlkLCB0
ZXN0VmFsdWVzLnJlYWwsIHRlc3RWYWx1ZXMudGltZXN0YW1wLCB0ZXN0VmFsdWVzLnRleHQsIHRl
c3RWYWx1ZXMuYmxvYl0sCisgICAgICAgIGZldGNoREJWYWx1ZXNTdG10LAorICAgICAgICBmdW5j
dGlvbih0eCwgZXJyb3IpIHsKKyAgICAgICAgICAgIG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIGlu
c2VydGluZyB2YWx1ZXMgdG8gdGhlIGRiLiIpOworICAgICAgICB9KTsKK30KKworZnVuY3Rpb24g
Y3JlYXRlVGVzdERCU3RtdCh0eCkKK3sKKyAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUg
SUYgTk9UIEVYSVNUUyBEYXRhVHlwZVRlc3RUYWJsZSAoaWQgSU5URUdFUiBVTklRVUUsIHJlYWwg
UkVBTCwgdGltZXN0YW1wIElOVEVHRVIsIHRleHQgVEVYVCwgYmxvYiBCTE9CKSIsIFtdLAorICAg
ICAgICBpbnNlcnRUZXN0VmFsdWVzU3RtdCwKKyAgICAgICAgZnVuY3Rpb24odHgsIGVycm9yKSB7
CisgICAgICAgICAgICBub3RpZnlEb25lKCJGQUlMOiBFcnJvciBjcmVhdGluZyB0aGUgZGIuIik7
CisgICAgICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgfQorICAgIHZhciBkYiA9IG9wZW5EYXRhYmFzZSgiRGF0YVR5cGVUZXN0IiwgIjEuMCIs
ICJEYXRhYmFzZSBmb3Igc3FsIGRhdGEgdHlwZSB0ZXN0IiwgMSk7CisgICAgaWYgKGRiKQorICAg
ICAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVUZXN0REJTdG10KTsKKyAgICBlbHNlCisgICAgICAg
IG5vdGlmeURvbmUoIkZBSUw6IEVycm9yIG9wZW5pbmcgdGhlIGRiIik7Cit9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNvZGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lMTk3NzZhNWZmNzFjYWI1NzI2MWE3YWE0NGYzMGE5ODE1N2I0YzJmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3FsLWVycm9yLWNv
ZGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IEV4Y2Vw
dGlvbiB0aHJvd24gaW4gdHJhbnNhY3Rpb24gY2FsbGJhY2suCitDT05TT0xFIE1FU1NBR0U6IENh
bm5vdCBjYWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuCitUaGlzIHRlc3QgdGVzdHMgdGhl
IGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuCitQQVNTOiBl
eHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BBU1M6IGV4cGVjdGVkIGFu
ZCBnb3QgZXJyb3IgY29kZSBVTktOT1dOX0VSUgorUEFTUzogZXhwZWN0ZWQgYW5kIGdvdCBlcnJv
ciBjb2RlIFNZTlRBWF9FUlIKK1BBU1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBTWU5U
QVhfRVJSCitQQVNTOiBleHBlY3RlZCBhbmQgZ290IGVycm9yIGNvZGUgVU5LTk9XTl9FUlIKK1BB
U1M6IGV4cGVjdGVkIGFuZCBnb3QgZXJyb3IgY29kZSBRVU9UQV9FUlIKK1BBU1M6IGV4cGVjdGVk
IGFuZCBnb3QgZXJyb3IgY29kZSBWRVJTSU9OX0VSUgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2Uvd2Vic3FsL3NxbC1lcnJvci1jb2Rlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNzBjNmNhZmU4ODlj
N2U4YmE0ZWYwOGY1OTM4N2UwZDNlMTViMWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL3dlYnNxbC9zcWwtZXJyb3ItY29kZXMuaHRtbApAQCAtMCwwICsxLDEyIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9kYXRhYmFzZS1jb21tb24uanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNxbC1lcnJvci1jb2Rlcy5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldHVwQW5kUnVuVGVzdCgpOyI+CitUaGlzIHRlc3QgdGVz
dHMgdGhlIGVycm9yIGNvZGVzIHJlcG9ydGVkIGluIGV4Y2VwdGlvbmFsIHNpdHVhdGlvbnMuPGJy
PgorPHByZSBpZD0iY29uc29sZSI+CitGQUlMVVJFOiB0ZXN0IGRpZG4ndCBydW4uCis8L3ByZT4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3NxbC1lcnJvci1jb2Rlcy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3NxbC1lcnJv
ci1jb2Rlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDJjOTdjODFmYTg1YmMzNmQ0NmRmODVmYjdiZDEyNmEz
YTU4NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3Fs
LWVycm9yLWNvZGVzLmpzCkBAIC0wLDAgKzEsMTE0IEBACitmdW5jdGlvbiBmaW5pc2hUZXN0KCkK
K3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciBUT1RBTF9URVNUUyA9IDc7Cit2
YXIgdGVzdHNSdW4gPSAwOworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrKGVycm9y
LCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgaWYgKGVycm9yLmNvZGUgPT0gZXJyb3Jb
ZXhwZWN0ZWRFcnJvckNvZGVOYW1lXSkgeworICAgICAgICBsb2coIlBBU1M6IGV4cGVjdGVkIGFu
ZCBnb3QgZXJyb3IgY29kZSAiICsgZXhwZWN0ZWRFcnJvckNvZGVOYW1lKTsKKyAgICAgICAgaWYg
KCsrdGVzdHNSdW4gPT0gVE9UQUxfVEVTVFMpCisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgbG9nKCJGQUlMOiBleHBlY3RlZCBlcnJvciBjb2RlICIgKyBl
eHBlY3RlZEVycm9yQ29kZU5hbWUgKyAiICgiICsgZXJyb3JbZXhwZWN0ZWRFcnJvckNvZGVOYW1l
XSArICIpOyBnb3QgIiArIGVycm9yLmNvZGUpOworICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAg
fQorfQorCitmdW5jdGlvbiB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjaygpCit7CisgICAgbG9n
KCJGQUlMOiBhIHRyYW5zYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIpOworICAg
IGZpbmlzaFRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uKGRiLCB0cmFuc2Fj
dGlvbkNhbGxiYWNrLCBleHBlY3RlZEVycm9yQ29kZU5hbWUpCit7CisgICAgZGIudHJhbnNhY3Rp
b24odHJhbnNhY3Rpb25DYWxsYmFjaywKKyAgICAgICAgICAgICAgICAgICBmdW5jdGlvbihlcnJv
cikgeworICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2soZXJy
b3IsIGV4cGVjdGVkRXJyb3JDb2RlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgfSwgdHJhbnNh
Y3Rpb25TdWNjZXNzQ2FsbGJhY2spOworfQorCitmdW5jdGlvbiB0ZXN0VHJhbnNhY3Rpb25UaHJv
d3NFeGNlcHRpb24oZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkg
eyB0aHJvdyAiRXhjZXB0aW9uIHRocm93biBpbiB0cmFuc2FjdGlvbiBjYWxsYmFjay4iOyB9LCAi
VU5LTk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9uRmFpbHVyZUJlY2F1
c2VPZlN0YXRlbWVudEZhaWx1cmUoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAg
ICAgICAgICAgICAgICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAg
dHguZXhlY3V0ZVNxbCgiQkFEIFNUQVRFTUVOVCIsIFtdLCBudWxsLCBmdW5jdGlvbih0eCwgZXJy
b3IpIHsgcmV0dXJuIHRydWU7IH0pOworICAgICAgICAgICAgICAgICAgICB9LCAiVU5LTk9XTl9F
UlIiKTsKK30KKworZnVuY3Rpb24gdGVzdEludmFsaWRTdGF0ZW1lbnQoZGIpCit7CisgICAgdGVz
dFRyYW5zYWN0aW9uKGRiLCBmdW5jdGlvbih0eCkgeyB0eC5leGVjdXRlU3FsKCJCQUQgU1RBVEVN
RU5UIik7IH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RJbmNvcnJlY3ROdW1i
ZXJPZkJpbmRQYXJhbWV0ZXJzKGRiKQoreworICAgIHRlc3RUcmFuc2FjdGlvbihkYiwKKyAgICAg
ICAgICAgICAgICAgICAgZnVuY3Rpb24odHgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIEJhZEJpbmROdW1iZXJUZXN0
IChGb28gSU5ULCBCYXIgSU5UKSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0
ZVNxbCgiSU5TRVJUIElOVE8gQmFkQmluZE51bWJlclRlc3QgVkFMVUVTICg/LCA/KSIsIFsxXSk7
CisgICAgICAgICAgICAgICAgICAgIH0sICJTWU5UQVhfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRl
c3RCaW5kUGFyYW1ldGVyT2ZXcm9uZ1R5cGUoZGIpCit7CisgICAgdmFyIGJhZFN0cmluZyA9IHsg
fTsKKyAgICBiYWRTdHJpbmcudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgdGhyb3cgIkNhbm5vdCBj
YWxsIHRvU3RyaW5nKCkgb24gdGhpcyBvYmplY3QuIiB9OworCisgICAgdGVzdFRyYW5zYWN0aW9u
KGRiLCBmdW5jdGlvbih0eCkgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJDUkVBVEUgVEFCTEUg
SUYgTk9UIEVYSVNUUyBCYWRCaW5kVHlwZVRlc3QgKEZvbyBURVhUKSIpOworICAgICAgICB0eC5l
eGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBCYWRCaW5kVHlwZVRlc3QgVkFMVUVTICg/KSIsIFtiYWRT
dHJpbmddKTsKKyAgICB9LCAiVU5LTk9XTl9FUlIiKTsKK30KKworZnVuY3Rpb24gdGVzdFF1b3Rh
RXhjZWVkZWQoZGIpCit7CisgICAgdGVzdFRyYW5zYWN0aW9uKGRiLAorICAgICAgICAgICAgICAg
ICAgICBmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdHguZXhlY3V0ZVNx
bCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgUXVvdGFUZXN0IChGb28gQkxPQikiKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIFF1b3RhVGVz
dCBWQUxVRVMgKFpFUk9CTE9CKDEwICogMTAyNCAqIDEwMjQpKSIpOworICAgICAgICAgICAgICAg
ICAgICB9LCAiUVVPVEFfRVJSIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RWZXJzaW9uTWlzbWF0Y2go
ZGIpCit7CisgICAgLy8gVXNlIGFub3RoZXIgREIgaGFuZGxlIHRvIGNoYW5nZSB0aGUgdmVyc2lv
bi4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIERCIHZlcnNpb24gaXMg
bm90CisgICAgLy8gY2hhbmdlZCBiZWZvcmUgdGhlIHRyYW5zYWN0aW9ucyBpbiB0aGUgb3RoZXIg
dGVzdHMgaGF2ZSBydW4sIHdlIG5lZWQgdG8gZG8gaXQgaW4gYSB0cmFuc2FjdGlvbiBvbiAnZGIn
LgorICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgIHZhciBkYjIgPSBv
cGVuRGF0YWJhc2VXaXRoU3VmZml4KCJTUUxFcnJvckNvZGVzVGVzdCIsICIxLjAiLCAiVGVzdHMg
dGhlIGVycm9yIGNvZGVzLiIsIDEpOworICAgICAgICBkYjIuY2hhbmdlVmVyc2lvbigiMS4wIiwg
IjIuMCIsIGZ1bmN0aW9uKHR4KSB7IH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0
aW9uKGVycm9yKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2coIkZBSUw6IGNv
dWxkIG5vdCBjaGFuZ2UgdGhlIERCIHZlcnNpb24uIik7CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0
aW9uKCkgeyB9KTsKKyAgICAgICAgfSk7CisKKyAgICB0ZXN0VHJhbnNhY3Rpb24oZGIsCisgICAg
ICAgICAgICAgICAgICAgIGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0
eC5leGVjdXRlU3FsKCJUSElTIFNUQVRFTUVOVCBTSE9VTEQgTkVWRVIgR0VUIEVYRUNVVEVEIik7
CisgICAgICAgICAgICAgICAgICAgIH0sICJWRVJTSU9OX0VSUiIpOworfQorCitmdW5jdGlvbiBy
dW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworCisgICAgdmFyIGRi
ID0gb3BlbkRhdGFiYXNlV2l0aFN1ZmZpeCgiU1FMRXJyb3JDb2Rlc1Rlc3QiLCAiMS4wIiwgIlRl
c3RzIHRoZSBlcnJvciBjb2Rlcy4iLCAxKTsKKyAgICB0ZXN0VHJhbnNhY3Rpb25UaHJvd3NFeGNl
cHRpb24oZGIpOworICAgIHRlc3RUcmFuc2FjdGlvbkZhaWx1cmVCZWNhdXNlT2ZTdGF0ZW1lbnRG
YWlsdXJlKGRiKTsKKyAgICB0ZXN0SW52YWxpZFN0YXRlbWVudChkYik7CisgICAgdGVzdEluY29y
cmVjdE51bWJlck9mQmluZFBhcmFtZXRlcnMoZGIpOworICAgIHRlc3RCaW5kUGFyYW1ldGVyT2ZX
cm9uZ1R5cGUoZGIpOworICAgIHRlc3RRdW90YUV4Y2VlZGVkKGRiKTsKKyAgICB0ZXN0VmVyc2lv
bk1pc21hdGNoKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3Fs
L3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM0MDNkOWYwYzk2Nzg3MTU5MGMxNTE0MDcwZTYwODA2N2U1MDEyMTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKK0NPTlNPTEUgTUVTU0FHRTogRXhjZXB0
aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjaworVGhpcyB0ZXN0IGNvbmZpcm1zIHRoYXQg
YSB0cmFuc2FjdGlvbiBpcyBpbW1lZGlhdGVseSByb2xsZWQgYmFjayBpZiBhbmQgb25seSBpZiBh
IHN0YXRlbWVudCdzIGVycm9yIGNhbGxiYWNrIHRocm93cyBhbiBleGNlcHRpb24sIHJldHVybnMg
dHJ1ZSwgb3IgZG9lc24ndCByZXR1cm4gYW55IHZhbHVlLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlv
biBlcnJvciBjYWxsYmFjayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJy
b3IgY2FsbGJhY2sgd2FzIGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNh
bGxiYWNrIHdhcyBpbnZva2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFj
ayB3YXMgaW52b2tlZC4KK1BBU1MgLSB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgd2Fz
IGludm9rZWQuCitQQVNTIC0gdGhlIHRyYW5zYWN0aW9uIGVycm9yIGNhbGxiYWNrIHdhcyBpbnZv
a2VkLgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2Vk
LgorUEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgor
UEFTUyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorUEFT
UyAtIHRoZSB0cmFuc2FjdGlvbiBzdWNjZXNzIGNhbGxiYWNrIHdhcyBpbnZva2VkLgorVGVzdCBD
b21wbGV0ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMzc2ODk2MzhiZDJiOGJlNWI4NmJiMzNlMDU2ZmYw
ODU1N2FkNjg0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
c3RhdGVtZW50LWVycm9yLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FMRVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5
LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRlZCBpbiB0aGlzIHdvcmxkLgorVGhpcyB0
ZXN0IHRlc3RzIHRoYXQgdGhlIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayBpcyBjYWxsZWQgaW4g
dGhlIHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC9zdGF0ZW1lbnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3Js
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE5NmU0MmIwMjhlYWIyYWEyYjJkZDNiZmY2MTZmNzQxOTYwNDUx
MDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdGF0ZW1l
bnQtZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUg
c3RhdGVtZW50IGVycm9yIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQuCis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50RXJyb3JDYWxs
YmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKytzdGF0ZW1l
bnRFcnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKwor
ZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazEodHgsIGVycm9yKQoreworICAgIGFsZXJ0
KCJGQUlMOiBWaXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiIpOworICAgIGRvbmUoKTsKK30KKwor
ZnVuY3Rpb24gc3RhdGVtZW50RXJyb3JDYWxsYmFjazIodHgsIGVycm9yKQoreworICAgIGFsZXJ0
KGRvY3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50LmJvZHkuZm9v
ID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIjsK
K2RvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4g
YSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJh
c2VzKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAgICAgICAgImZ1
bmN0aW9uIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sxKHR4LCBlcnJvcilcbiIgKworICAgICAgICAi
e1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAg
ICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAg
ICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnU3RhdGVtZW50RXJy
b3JDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAi
ZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAgIiAgICB0eC5leGVj
dXRlU3FsKCdCQUQgU1RBVEVNRU5UJywgW10sIGZ1bmN0aW9uKHR4LCBkYXRhKSB7fSwgc3RhdGVt
ZW50RXJyb3JDYWxsYmFjazEpO1xuIiArCisgICAgICAgICJ9KTsiKTsKKworICAgIHZhciBkYjIg
PSBvcGVuRGF0YWJhc2UoJ1N0YXRlbWVudEVycm9yQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcx
LjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAg
IHR4LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9
LCBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrMik7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRl
bWVudC1lcnJvci1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3Rh
dGVtZW50LWVycm9yLWNhbGxiYWNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiODM2ZDE2MThiOTkzMjQ1
Njg1MWFjOWY4ZTA3YTc2Y2MxNWZhZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1lcnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsODcg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtZXNz
YWdlICsgIjxicj4iOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkKK3sKKyAgICBsb2coIlRl
c3QgQ29tcGxldGUiKTsKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciB0eENhbGxi
YWNrQ291bnQgPSAwOwordmFyIE5VTUJFUl9PRl9UUkFOU0FDVElPTlMgPSAxMDsKK3ZhciBkYXRh
YmFzZTsKKworZnVuY3Rpb24gcnVuVHJhbnNhY3Rpb24oZXhwZWN0ZWRUb0ZhaWwsIHN0YXRlbWVu
dEVycm9yQ2FsbGJhY2spCit7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgVGVz
dFRhYmxlIChSYW5kb21EYXRhIFRFWFQpIik7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VS
VCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0J10pOworICAgICAgICB0eC5leGVj
dXRlU3FsKCJUSElTIFNUQVRFTUVOVCBXSUxMIEZBSUwiLCBbXSwKKyAgICAgICAgICAgIGZ1bmN0
aW9uKHR4LCBkYXRhKSB7CisgICAgICAgICAgICAgICAgbG9nKCJGQUlMIC0gdGhpcyBzdGF0ZW1l
bnQgc2hvdWxkIGhhdmUgZmFpbGVkIik7CisgICAgICAgICAgICAgICAgZmluaXNoVGVzdCgpOwor
ICAgICAgICAgICAgfSwgc3RhdGVtZW50RXJyb3JDYWxsYmFjayk7CisgICAgICAgIHR4LmV4ZWN1
dGVTcWwoIklOU0VSVCBJTlRPIFRlc3RUYWJsZSBWQUxVRVMgKD8pIiwgWyd0ZXN0MSddLAorICAg
ICAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRU
b0ZhaWwpCisgICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNo
b3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1dGVkIik7CisgICAgICAgICAgICB9LCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICAgICAg
ICAgIGxvZygiRkFJTCAtIFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgaGF2ZSBiZWVuIGV4ZWN1
dGVkIik7CisgICAgICAgICAgICB9KTsKKyAgICB9LCBmdW5jdGlvbihlcnJvcikgeworICAgICAg
ICBpZiAoZXhwZWN0ZWRUb0ZhaWwpCisgICAgICAgICAgICBsb2coIlBBU1MgLSB0aGUgdHJhbnNh
Y3Rpb24gZXJyb3IgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGxvZygiRkFJTCAtIHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBzaG91bGQg
bm90IGhhdmUgYmVlbiBpbnZva2VkLiIpOworICAgICAgICBpZiAoKyt0eENhbGxiYWNrQ291bnQg
PT0gTlVNQkVSX09GX1RSQU5TQUNUSU9OUykKKyAgICAgICAgICAgIGZpbmlzaFRlc3QoKTsKKyAg
ICB9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKGV4cGVjdGVkVG9GYWlsKQorICAgICAgICAg
ICAgbG9nKCJGQUlMIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgc2hvdWxkIG5v
dCBoYXZlIGJlZW4gaW52b2tlZC4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbG9nKCJQ
QVNTIC0gdGhlIHRyYW5zYWN0aW9uIHN1Y2Nlc3MgY2FsbGJhY2sgd2FzIGludm9rZWQuIik7Cisg
ICAgICAgIGlmICgrK3R4Q2FsbGJhY2tDb3VudCA9PSBOVU1CRVJfT0ZfVFJBTlNBQ1RJT05TKQor
ICAgICAgICAgICAgZmluaXNoVGVzdCgpOworICAgIH0pOworfQorCitmdW5jdGlvbiBydW5UZXN0
KCkKK3sKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmNsZWFyQWxsRGF0YWJhc2VzKCk7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGRhdGFiYXNlID0gb3BlbkRhdGFiYXNlKCJT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrVGVzdCIsICIxLjAiLCAic3RhdGVtZW50IGVycm9yIGNhbGxi
YWNrIHRlc3QiLCAxMDI0KTsKKworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUsIGZ1bmN0aW9uKGVy
cm9yKSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0cnVlLCBmdW5jdGlv
bihlcnJvcikgeyB0aHJvdyAiRXhjZXB0aW9uIGluIHN0YXRlbWVudCBlcnJvciBjYWxsYmFjayI7
IHJldHVybiBmYWxzZTsgfSk7CisgICAgcnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJy
b3IpIHsgcmV0dXJuICJzb21lIHN0cmluZyI7IH0pOworICAgIHJ1blRyYW5zYWN0aW9uKHRydWUs
IGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiAxMjM0OyB9KTsKKyAgICBydW5UcmFuc2FjdGlvbih0
cnVlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4ge2E6IDIsIGI6ICJhYmMifTsgfSk7CisgICAg
cnVuVHJhbnNhY3Rpb24odHJ1ZSwgZnVuY3Rpb24oZXJyb3IpIHsgcmV0dXJuICJmYWxzZSI7IH0p
OworICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikge30pOworICAgIHJ1
blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gZmFsc2U7IH0pOwor
ICAgIHJ1blRyYW5zYWN0aW9uKGZhbHNlLCBmdW5jdGlvbihlcnJvcikgeyByZXR1cm4gMDsgfSk7
CisgICAgcnVuVHJhbnNhY3Rpb24oZmFsc2UsIGZ1bmN0aW9uKGVycm9yKSB7IHJldHVybiBudWxs
OyB9KTsKK30KKworPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEgdHJhbnNhY3Rpb24gaXMgaW1tZWRpYXRlbHkg
cm9sbGVkIGJhY2sgaWYgYW5kIG9ubHkgaWYgYSBzdGF0ZW1lbnQncyBlcnJvciBjYWxsYmFjayB0
aHJvd3MgYW4gZXhjZXB0aW9uLCByZXR1cm5zIHRydWUsIG9yIGRvZXNuJ3QgcmV0dXJuIGFueSB2
YWx1ZS4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorPC9wcmU+Cis8L2JvZHk+CisKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNh
bGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
d2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yZWYwMjdkZmJkMWEwNDM0NjNmMjE3NjliNzM3MTlhODhlNWJmNmQw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3RhdGVtZW50
LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorQUxFUlQ6IHVuZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZp
c2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVz
dHMgdGhhdCB0aGUgc3RhdGVtZW50IHN1Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSBy
aWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvc3Rh
dGVtZW50LXN1Y2Nlc3MtY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVudC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGZhYzc1NGIzYzNjMjBhODJiYWM5OGQyN2E4NjRlMTQ3NWZjMTEz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N0YXRlbWVu
dC1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw1MiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhl
IHN0YXRlbWVudCBzdWNjZXNzIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUgcmlnaHQgd29ybGQu
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgc3RhdGVtZW50U3VjY2Vz
c0NhbGxiYWNrc0ludm9rZWQgPSAwOworZnVuY3Rpb24gZG9uZSgpCit7CisgICAgaWYgKCgrK3N0
YXRlbWVudFN1Y2Nlc3NDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpCit7Cisg
ICAgYWxlcnQoIkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgp
OworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2syKHR4LCBkYXRhKQorewor
ICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuYmFyKTsKKyAgICBkb25lKCk7Cit9CisKK2RvY3VtZW50
LmJvZHkuZm9vID0gIkZBSUw6IGRvY3VtZW50LmJvZHkuZm9vIHZpc2libGUgaW4gaXNvbGF0ZWQg
d29ybGQuIjsKK2RvY3VtZW50LmJvZHkuYmFyID0gIlBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZp
c2libGUgaW4gYSBjYWxsYmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuIjsKKworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmNsZWFy
QWxsRGF0YWJhc2VzKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5ldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZCgKKyAgICAgICAgMCwKKyAg
ICAgICAgImZ1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazEodHgsIGRhdGEpXG4iICsK
KyAgICAgICAgIntcbiIgKworICAgICAgICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtc
biIgKworICAgICAgICAiICAgIHdpbmRvdy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xu
IiArCisgICAgICAgICJ9XG4iICsKKyAgICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1N0
YXRlbWVudFN1Y2Nlc3NDYWxsYmFja0lzb2xhdGVkV29ybGQxJywgJzEuMCcsICcnLCAxKTtcbiIg
KworICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7XG4iICsKKyAgICAgICAg
IiAgICB0eC5leGVjdXRlU3FsKCdDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBUZXN0IChGb28g
SU5UKScsIFtdLCBzdGF0ZW1lbnRTdWNjZXNzQ2FsbGJhY2sxKTtcbiIgKworICAgICAgICAifSk7
Iik7CisKKyAgICB2YXIgZGIyID0gb3BlbkRhdGFiYXNlKCdTdGF0ZW1lbnRTdWNjZXNzQ2FsbGJh
Y2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5zYWN0aW9uKGZ1
bmN0aW9uKHR4KSB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoJ0NSRUFURSBUQUJMRSBJRiBOT1Qg
RVhJU1RTIFRlc3QgKEZvbyBJTlQpJywgW10sIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjazIpOwor
ICAgIH0pOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3N1Y2Nlc3MtY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjc2MTkwMjQ0MTc4YzNlYTJkZDkzYTU2MjMwMmE4MDZlYTg0ODk4NGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBjb25maXJtcyB0aGF0IGEg
c3VjY2Vzc2Z1bCB0cmFuc2FjdGlvbiAtIGJvdGggd2l0aCBhbmQgd2l0aG91dCBhIHN0YXRlbWVu
dCAtIHJlY2VpdmVzIGl0cyBzdWNjZXNzQ2FsbGJhY2sKK1RyYW5zYWN0aW9uIHN1Y2NlZWRlZCAt
IFRyYW5zYWN0aW9uIHdpdGggb25lIHN0YXRlbWVudAorVHJhbnNhY3Rpb24gc3VjY2VlZGVkIC0g
RW1wdHkgdHJhbnNhY3Rpb24KK1Rlc3QgQ29tcGxldGUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS93ZWJzcWwvc3VjY2Vzcy1jYWxsYmFjay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyMzdhYmE4MmUz
MDk3MjQ4MWFhYmI3MDUwZDVhMjE0NmUyNWMzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC9zdWNjZXNzLWNhbGxiYWNrLmh0bWwKQEAgLTAsMCArMSw1NCBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKQorewor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1lc3Nh
Z2UgKyAiPGJyPiI7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGxvZygiVGVz
dCBDb21wbGV0ZSIpOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gZXJy
b3JGdW5jdGlvbihlcnJvcikKK3sKKyAgICBsb2coIlRlc3QgZmFpbGVkIC0gIiArIGVycm9yLm1l
c3NhZ2UpOworICAgIGZpbmlzaFRlc3QoKTsKK30KKwordmFyIHN1Y2Nlc3NDb3VudCA9IDA7CisK
K2Z1bmN0aW9uIHN1Y2Nlc3NGdW5jdGlvbihtZXNzYWdlKQoreworICAgIGxvZygiVHJhbnNhY3Rp
b24gc3VjY2VlZGVkIC0gIiArIG1lc3NhZ2UpOworICAgIGlmICgrK3N1Y2Nlc3NDb3VudCA9PSAy
KQorICAgICAgICBmaW5pc2hUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuY2xlYXJBbGxEYXRhYmFzZXMoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxE
b25lKCk7CisgICAgfQorICAgIAorICAgIHZhciBkYXRhYmFzZSA9IG9wZW5EYXRhYmFzZSgiU3Vj
Y2Vzc0NhbGxiYWNrRGF0YWJhc2UiLCAiMS4wIiwgIlRlc3QgZm9yIHN1Y2Nlc3MgY2FsbGJhY2sg
PHJkYXI6Ly81NzM3NjkyPiIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9u
KHR4KSB7IHR4LmV4ZWN1dGVTcWwoIkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIFN1Y2Nlc3ND
YWxsYmFja1Rlc3QgKHJhbmRvbURhdGEpIiwgW10pOyB9LCBlcnJvckZ1bmN0aW9uLCBmdW5jdGlv
bigpIHsgc3VjY2Vzc0Z1bmN0aW9uKCJUcmFuc2FjdGlvbiB3aXRoIG9uZSBzdGF0ZW1lbnQiKTsg
fSk7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgZXJyb3JGdW5j
dGlvbiwgZnVuY3Rpb24oKSB7IHN1Y2Nlc3NGdW5jdGlvbigiRW1wdHkgdHJhbnNhY3Rpb24iKTsg
fSk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+
CitUaGlzIHRlc3QgY29uZmlybXMgdGhhdCBhIHN1Y2Nlc3NmdWwgdHJhbnNhY3Rpb24gLSBib3Ro
IHdpdGggYW5kIHdpdGhvdXQgYSBzdGF0ZW1lbnQgLSByZWNlaXZlcyBpdHMgc3VjY2Vzc0NhbGxi
YWNrCis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iYmZhZmQ0OWJkYzZiM2NkNWZiN2IzODg0MmEyMWQ5YmM0MGY2
M2MwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1h
dXRob3JpemVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY4IEBACitUaGlzIHRlc3QgdGVzdHMg
dGhlIGRhdGFiYXNlIGF1dGhvcml6ZXIuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0YXRlbWVudCBz
dWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX0lOREVYIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJ
VEVfQ1JFQVRFX1RFTVBfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVf
VEVNUF9UUklHR0VSIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RFTVBfVklF
VyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBz
dWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElU
RV9DUkVBVEVfVlRBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVBRCBzdGF0ZW1lbnQgc3VjY2VlZGVk
LgorU1FMSVRFX1NFTEVDVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RFTEVURSBzdGF0
ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0lOU0VSVCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FM
SVRFX1VQREFURSBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX1BSQUdNQSBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQor
U1FMSVRFX0FMVEVSX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfQUxURVJfVEFC
TEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9UUkFOU0FDVElPTiBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FM
SVRFX0FUVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQg
KDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RFVEFDSCBzdGF0ZW1lbnQgZmFpbGVkOiBjb3Vs
ZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX1JFSU5E
RVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9BTkFMWVpFIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVf
RFJPUF9JTkRFWCBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UQUJMRSBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0RST1BfVEVNUF9UUklHR0VSIHN0YXRlbWVudCBz
dWNjZWVkZWQuCitTUUxJVEVfRFJPUF9URU1QX1ZJRVcgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NR
TElURV9EUk9QX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1ZJRVcg
c3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9EUk9QX1RBQkxFIHN0YXRlbWVudCBzdWNjZWVk
ZWQuCitXcml0ZSB0cmFuc2FjdGlvbiBzdWNjZWVkZWQuCitTUUxJVEVfQ1JFQVRFX1RBQkxFIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9y
aXplZCkKK1NRTElURV9DUkVBVEVfVEFCTEUgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9D
UkVBVEVfSU5ERVggc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitT
UUxJVEVfQ1JFQVRFX1RFTVBfVFJJR0dFUiBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDEgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQ1JFQVRFX1RFTVBfVklF
VyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBh
dXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9UUklHR0VSIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxk
IG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMSBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVBVEVf
VklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5v
dCBhdXRob3JpemVkKQorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291
bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9DUkVB
VEVfSU5ERVggc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9UQUJMRSBz
dGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIgc3RhdGVtZW50
IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVBVEVfVEVNUF9WSUVXIHN0YXRlbWVudCBzdWNjZWVkZWQu
CitTUUxJVEVfQ1JFQVRFX1RSSUdHRVIgc3RhdGVtZW50IHN1Y2NlZWRlZC4KK1NRTElURV9DUkVB
VEVfVklFVyBzdGF0ZW1lbnQgc3VjY2VlZGVkLgorU1FMSVRFX0NSRUFURV9WVEFCTEUgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKK1NRTElURV9SRUFEIHN0YXRlbWVudCBzdWNjZWVkZWQuCitTUUxJVEVfU0VMRUNUIHN0YXRl
bWVudCBzdWNjZWVkZWQuCitTUUxJVEVfREVMRVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5v
dCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfSU5TRVJUIHN0
YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhv
cml6ZWQpCitTUUxJVEVfVVBEQVRFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJl
IHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUFJBR01BIHN0YXRlbWVudCBm
YWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitT
UUxJVEVfQUxURVJfVEFCTEUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3Rh
dGVtZW50ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9BTFRFUl9UQUJMRSBzdGF0ZW1lbnQg
ZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDEgbm8gc3VjaCB0YWJsZTogVGVz
dFRhYmxlKQorU1FMSVRFX1RSQU5TQUNUSU9OIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBw
cmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfQVRUQUNIIHN0YXRl
bWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6
ZWQpCitTUUxJVEVfREVUQUNIIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0
YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfUkVJTkRFWCBzdGF0ZW1lbnQgZmFp
bGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FM
SVRFX0FOQUxZWkUgc3RhdGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50
ICgyMyBub3QgYXV0aG9yaXplZCkKK1NRTElURV9EUk9QX0lOREVYIHN0YXRlbWVudCBmYWlsZWQ6
IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRlbWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVf
RFJPUF9URU1QX1RBQkxFIHN0YXRlbWVudCBmYWlsZWQ6IGNvdWxkIG5vdCBwcmVwYXJlIHN0YXRl
bWVudCAoMjMgbm90IGF1dGhvcml6ZWQpCitTUUxJVEVfRFJPUF9URU1QX1RSSUdHRVIgc3RhdGVt
ZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9yaXpl
ZCkKK1NRTElURV9EUk9QX1RFTVBfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVFJJR0dFUiBz
dGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJlcGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRo
b3JpemVkKQorU1FMSVRFX0RST1BfVklFVyBzdGF0ZW1lbnQgZmFpbGVkOiBjb3VsZCBub3QgcHJl
cGFyZSBzdGF0ZW1lbnQgKDIzIG5vdCBhdXRob3JpemVkKQorU1FMSVRFX0RST1BfVEFCTEUgc3Rh
dGVtZW50IGZhaWxlZDogY291bGQgbm90IHByZXBhcmUgc3RhdGVtZW50ICgyMyBub3QgYXV0aG9y
aXplZCkKK1JlYWQgdHJhbnNhY3Rpb25zIHN1Y2NlZWRlZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YmFmMTBhYTQ3
NTAwYTRmM2NmMzEyNGM3NjcxNzMxNzllODk0MzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS93ZWJzcWwvdGVzdC1hdXRob3JpemVyLmh0bWwKQEAgLTAsMCArMSwxMiBA
QAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGF0YWJhc2UtY29tbW9u
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJ0ZXN0LWF1dGhvcml6ZXIuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXR1cEFuZFJ1blRlc3QoKTsiPgorVGhpcyB0ZXN0
IHRlc3RzIHRoZSBkYXRhYmFzZSBhdXRob3JpemVyLjxicj4KKzxwcmUgaWQ9ImNvbnNvbGUiPgor
RkFJTFVSRTogdGVzdCBkaWRuJ3QgcnVuLgorPC9wcmU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90ZXN0LWF1dGhvcml6ZXIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGEwOGM4OWRmNTRhM2I2YzRhODYzYzAxZGY4OWY0NzUxY2NjOTE4OQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3Rlc3QtYXV0aG9yaXplci5qcwpAQCAtMCww
ICsxLDE1MyBAQAorZnVuY3Rpb24gdGVybWluYXRlVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpOworfQorCitmdW5jdGlvbiBsb2dBbmRUZXJtaW5hdGVUZXN0KG1lc3NhZ2UsIGVycm9y
KQoreworICAgIGxvZyhtZXNzYWdlICsgIjogIiArIGVycm9yLm1lc3NhZ2UpOworICAgIHRlcm1p
bmF0ZVRlc3QoKTsKK30KKworZnVuY3Rpb24gY2xlYW51cChkYikKK3sKKyAgICBkYi50cmFuc2Fj
dGlvbihmdW5jdGlvbih0eCkgeworICAgICAgICAgICAgdHguZXhlY3V0ZVNxbCgiRFJPUCBUQUJM
RSBJRiBFWElTVFMgVGVzdDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRST1AgSU5E
RVggSUYgRVhJU1RTIFRlc3RJbmRleDsiKTsKKyAgICAgICAgICAgIHR4LmV4ZWN1dGVTcWwoIkRS
T1AgVklFVyBJRiBFWElTVFMgVGVzdFZpZXc7Iik7CisgICAgICAgICAgICB0eC5leGVjdXRlU3Fs
KCJEUk9QIFRSSUdHRVIgSUYgRVhJU1RTIFRlc3RUcmlnZ2VyOyIpOworICAgICAgICB9LCBmdW5j
dGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJDbGVhbnVwIGZhaWxlZCIsIGVycm9y
KTsgfSk7Cit9CisKK2Z1bmN0aW9uIHN0YXRlbWVudFN1Y2Nlc3NDYWxsYmFjayhzdGF0ZW1lbnRU
eXBlKQoreworICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgc3VjY2VlZGVkLiIp
OworfQorCitmdW5jdGlvbiBzdGF0ZW1lbnRFcnJvckNhbGxiYWNrKHN0YXRlbWVudFR5cGUsIGVy
cm9yKQoreworICAgIGxvZyhzdGF0ZW1lbnRUeXBlICsgIiBzdGF0ZW1lbnQgZmFpbGVkOiAiICsg
ZXJyb3IubWVzc2FnZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitmdW5jdGlvbiBleGVjdXRl
U3RhdGVtZW50KHR4LCBzdGF0ZW1lbnQsIG9wZXJhdGlvbikKK3sKKyAgICB0eC5leGVjdXRlU3Fs
KHN0YXRlbWVudCwgW10sCisgICAgICAgICAgICAgICAgICBmdW5jdGlvbihyZXN1bHQpIHsgc3Rh
dGVtZW50U3VjY2Vzc0NhbGxiYWNrKG9wZXJhdGlvbik7IH0sCisgICAgICAgICAgICAgICAgICBm
dW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHN0YXRlbWVudEVycm9yQ2FsbGJhY2sob3BlcmF0
aW9uLCBlcnJvcik7IH0pOworfQorCitmdW5jdGlvbiBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KQor
eworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEFCTEUgVGVzdCAoRm9vIGludCk7
IiwgIlNRTElURV9DUkVBVEVfVEFCTEUiKTsKK30KKworZnVuY3Rpb24gY3JlYXRlU3RhdGVtZW50
c0NhbGxiYWNrKHR4KQoreworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgSU5ERVgg
VGVzdEluZGV4IE9OIFRlc3QgKEZvbyk7IiwgIlNRTElURV9DUkVBVEVfSU5ERVgiKTsKKworICAg
IC8vIEV2ZW4gdGhvdWdoIHRoZSBmb2xsb3dpbmcgcXVlcnkgc2hvdWxkIHRyaWdnZXIgYSBTUUxJ
VEVfQ1JFQVRFX1RFTVBfSU5ERVggb3BlcmF0aW9uCisgICAgLy8gKGFjY29yZGluZyB0byBodHRw
Oi8vd3d3LnNxbGl0ZS5vcmcvdGVtcGZpbGVzLmh0bWwpLCBpdCBkb2Vzbid0LCBhbmQgSSdtIG5v
dCBhd2FyZQorICAgIC8vIG9mIGFueSBvdGhlciB3YXkgdG8gdHJpZ2dlciB0aGlzIG9wZXJhdGlv
bi4gU28gd2UnbGwgc2tpcCBpdCBmb3Igbm93LgorICAgIC8vZXhlY3V0ZVN0YXRlbWVudCh0eCwg
IlNFTEVDVCAqIEZST00gVGVzdCBXSEVSRSBGb28gSU4gKDEsIDIsIDMpOyIsICJTUUxJVEVfQ1JF
QVRFX1RFTVBfSU5ERVgiKTsKKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJDUkVBVEUgVEVN
UCBUQUJMRSBUZXN0VGVtcFRhYmxlIChGb28gaW50KTsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RB
QkxFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBURU1QIFRSSUdHRVIgVGVz
dFRlbXBUcmlnZ2VyIElOU0VSVCBPTiBUZXN0IEJFR0lOIFNFTEVDVCBDT1VOVCgqKSBGUk9NIFRl
c3Q7IEVORDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1RSSUdHRVIiKTsKKyAgICBleGVjdXRlU3Rh
dGVtZW50KHR4LCAiQ1JFQVRFIFRFTVAgVklFVyBUZXN0VGVtcFZpZXcgQVMgU0VMRUNUIENPVU5U
KCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9URU1QX1ZJRVciKTsKKyAgICBleGVjdXRl
U3RhdGVtZW50KHR4LCAiQ1JFQVRFIFRSSUdHRVIgVGVzdFRyaWdnZXIgSU5TRVJUIE9OIFRlc3Qg
QkVHSU4gU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsgRU5EOyIsICJTUUxJVEVfQ1JFQVRFX1RS
SUdHRVIiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQ1JFQVRFIFZJRVcgVGVzdFZpZXcg
QVMgU0VMRUNUIENPVU5UKCopIEZST00gVGVzdDsiLCAiU1FMSVRFX0NSRUFURV9WSUVXIik7Cisg
ICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkNSRUFURSBWSVJUVUFMIFRBQkxFIFRlc3RWaXJ0dWFs
VGFibGUgVVNJTkcgTWlzc2luZ01vZHVsZTsiLCAiU1FMSVRFX0NSRUFURV9WVEFCTEUiKTsKK30K
KworZnVuY3Rpb24gb3RoZXJTdGF0ZW1lbnRzQ2FsbGJhY2sodHgpCit7CisgICAgZXhlY3V0ZVN0
YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7IiwgIlNRTElURV9SRUFEIik7
CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIlNFTEVDVCBDT1VOVCgqKSBGUk9NIFRlc3Q7Iiwg
IlNRTElURV9TRUxFQ1QiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiREVMRVRFIEZST00g
VGVzdDsiLCAiU1FMSVRFX0RFTEVURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJJTlNF
UlQgSU5UTyBUZXN0IFZBTFVFUyAoMSk7IiwgIlNRTElURV9JTlNFUlQiKTsKKyAgICBleGVjdXRl
U3RhdGVtZW50KHR4LCAiVVBEQVRFIFRlc3QgU0VUIEZvbyA9IDIgV0hFUkUgRm9vID0gMTsiLCAi
U1FMSVRFX1VQREFURSIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJQUkFHTUEgY2FjaGVf
c2l6ZTsiLCAiU1FMSVRFX1BSQUdNQSIpOworCisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFM
VEVSIFRBQkxFIFRlc3QgUkVOQU1FIFRPIFRlc3RUYWJsZTsiLCAiU1FMSVRFX0FMVEVSX1RBQkxF
Iik7CisgICAgLy8gUmVuYW1lIHRoZSB0YWJsZSBiYWNrIHRvIGl0cyBvcmlnaW5hbCBuYW1lCisg
ICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkFMVEVSIFRBQkxFIFRlc3RUYWJsZSBSRU5BTUUgVG8g
VGVzdDsiLCAiU1FMSVRFX0FMVEVSX1RBQkxFIik7CisKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4
LCAiQkVHSU4gVFJBTlNBQ1RJT047IiwgIlNRTElURV9UUkFOU0FDVElPTiIpOworICAgIGV4ZWN1
dGVTdGF0ZW1lbnQodHgsICJBVFRBQ0ggbWFpbiBBUyBUZXN0TWFpbjsiLCAiU1FMSVRFX0FUVEFD
SCIpOworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJERVRBQ0ggVGVzdE1haW47IiwgIlNRTElU
RV9ERVRBQ0giKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiUkVJTkRFWDsiLCAiU1FMSVRF
X1JFSU5ERVgiKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiQU5BTFlaRTsiLCAiU1FMSVRF
X0FOQUxZWkUiKTsKKworICAgIC8vIFNRTElURV9GVU5DVElPTjogYWxsb3dlZCB3cml0ZSBtb2Rl
CisgICAgLy8gVGhlcmUgaXMgbm8gU1FML0phdmFzY3JpcHQgQVBJIHRvIGFkZCB1c2VyLWRlZmlu
ZWQgZnVuY3Rpb25zIHRvIFNRTGl0ZSwKKyAgICAvLyBzbyB3ZSBjYW5ub3QgdGVzdCB0aGlzIG9w
ZXJhdGlvbgorfQorCitmdW5jdGlvbiBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KQoreworICAg
IGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIElOREVYIFRlc3RJbmRleDsiLCAiU1FMSVRFX0RS
T1BfSU5ERVgiKTsKKworICAgIC8vIFNRTElURV9EUk9QX1RFTVBfSU5ERVg6IGFsbG93ZWQgaW4g
d3JpdGUgbW9kZQorICAgIC8vIE5vdCBzdXJlIGhvdyB0byB0ZXN0IHRoaXM6IHRlbXAgaW5kZXhl
cyBhcmUgYXV0b21hdGljYWxseSBkcm9wcGVkIHdoZW4KKyAgICAvLyB0aGUgZGF0YWJhc2UgaXMg
Y2xvc2VkLCBidXQgSFRNTDUgZG9lc24ndCBzcGVjaWZ5IGEgY2xvc2VEYXRhYmFzZSgpIGNhbGwu
CisKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBUQUJMRSBUZXN0VGVtcFRhYmxlOyIs
ICJTUUxJVEVfRFJPUF9URU1QX1RBQkxFIik7CisgICAgZXhlY3V0ZVN0YXRlbWVudCh0eCwgIkRS
T1AgVFJJR0dFUiBUZXN0VGVtcFRyaWdnZXI7IiwgIlNRTElURV9EUk9QX1RFTVBfVFJJR0dFUiIp
OworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFZJRVcgVGVzdFRlbXBWaWV3OyIsICJT
UUxJVEVfRFJPUF9URU1QX1ZJRVciKTsKKyAgICBleGVjdXRlU3RhdGVtZW50KHR4LCAiRFJPUCBU
UklHR0VSIFRlc3RUcmlnZ2VyOyIsICJTUUxJVEVfRFJPUF9UUklHR0VSIik7CisgICAgZXhlY3V0
ZVN0YXRlbWVudCh0eCwgIkRST1AgVklFVyBUZXN0VmlldzsiLCAiU1FMSVRFX0RST1BfVklFVyIp
OworCisgICAgLy8gU1FMSVRFX0RST1BfVlRBQkxFOiBhbGxvd2VkIGluIHdyaXRlIG1vZGUKKyAg
ICAvLyBOb3Qgc3VyZSBob3cgdG8gdGVzdCB0aGlzOiB3ZSBjYW5ub3QgY3JlYXRlIGEgdmlydHVh
bCB0YWJsZSBiZWNhdXNlIHdlIGRvIG5vdAorICAgIC8vIGhhdmUgU1FML0phdmFzY3JpcHQgQVBJ
cyB0byByZWdpc3RlciBhIG1vZHVsZSB0aGF0IGltcGxlbWVudHMgYSB2aXJ0dWFsIHRhYmxlLgor
ICAgIC8vIFRoZXJlZm9yZSwgdHJ5aW5nIHRvIGRyb3AgYSB2aXJ0dWFsIHRhYmxlIHdpbGwgYWx3
YXlzIGZhaWwgKG5vIHN1Y2ggdGFibGUpCisgICAgLy8gYmVmb3JlIGV2ZW4gZ2V0dGluZyB0byB0
aGUgYXV0aG9yaXplci4KKworICAgIGV4ZWN1dGVTdGF0ZW1lbnQodHgsICJEUk9QIFRBQkxFIFRl
c3Q7IiwgIlNRTElURV9EUk9QX1RBQkxFIik7Cit9CisKK2Z1bmN0aW9uIHRlc3RSZWFkV3JpdGVN
b2RlKGRiKQoreworICAgIGRiLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KSB7CisgICAgICAgICAg
ICBjcmVhdGVUYWJsZUNhbGxiYWNrKHR4KTsKKyAgICAgICAgICAgIGNyZWF0ZVN0YXRlbWVudHND
YWxsYmFjayh0eCk7CisgICAgICAgICAgICBvdGhlclN0YXRlbWVudHNDYWxsYmFjayh0eCk7Cisg
ICAgICAgICAgICBkcm9wU3RhdGVtZW50c0NhbGxiYWNrKHR4KTsKKyAgICAgICAgfSwKKyAgICAg
ICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgiV3JpdGUgdHJhbnNhY3Rp
b24gZmFpbGVkIiwgZXJyb3IpOyB9LAorICAgICAgICBmdW5jdGlvbigpIHsgbG9nKCJXcml0ZSB0
cmFuc2FjdGlvbiBzdWNjZWVkZWQuIik7IH0pOworfQorCitmdW5jdGlvbiB0ZXN0UmVhZE9ubHlN
b2RlKGRiKQoreworICAgIC8vIFRlc3QgdGhlICdDUkVBVEUgVEFCTEUnIG9wZXJhdGlvbjsgaXQg
c2hvdWxkIGJlIGRpc2FsbG93ZWQKKyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlVGFibGVD
YWxsYmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVzdCgi
UmVhZCAnQ1JFQVRFIFRBQkxFJyB0cmFuc2FjdGlvbiBmYWlsZWQiLCBlcnJvcik7IH0pOworCisg
ICAgLy8gSW4gb3JkZXIgdG8gdGVzdCBhbGwgb3RoZXIgJ0NSRUFURScgb3BlcmF0aW9ucywgd2Ug
bXVzdCBjcmVhdGUgdGhlIHRhYmxlIGZpcnN0CisgICAgZGIudHJhbnNhY3Rpb24oY3JlYXRlVGFi
bGVDYWxsYmFjaywKKyAgICAgICAgZnVuY3Rpb24oZXJyb3IpIHsgbG9nQW5kVGVybWluYXRlVGVz
dCgiV3JpdGUgJ0NSRUFURSBUQUJMRScgdHJhbnNhY3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsK
KyAgICBkYi5yZWFkVHJhbnNhY3Rpb24oY3JlYXRlU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAg
ICBmdW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdDUkVBVEUnIHRy
YW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7CisKKyAgICAvLyBJbiBvcmRlciB0byB0ZXN0
IHRoZSAnRFJPUCcgYW5kICdvdGhlcicgb3BlcmF0aW9ucywgd2UgbmVlZCB0byBmaXJzdCBjcmVh
dGUgdGhlIHJlc3BlY3RpdmUgZW50aXRpZXMKKyAgICBkYi50cmFuc2FjdGlvbihjcmVhdGVTdGF0
ZW1lbnRzQ2FsbGJhY2ssCisgICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0
ZVRlc3QoIldyaXRlICdDUkVBVEUnIHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSk7Cisg
ICAgZGIucmVhZFRyYW5zYWN0aW9uKG90aGVyU3RhdGVtZW50c0NhbGxiYWNrLAorICAgICAgICBm
dW5jdGlvbihlcnJvcikgeyBsb2dBbmRUZXJtaW5hdGVUZXN0KCJSZWFkICdvdGhlcicgdHJhbnNh
Y3Rpb24gZmFpbGVkIiwgZXJyb3IpOyB9KTsKKworICAgIC8vIEhhY2s6IGluc2VydCBhbiBlbXB0
eSB3cml0ZSB0cmFuc2FjdGlvbiB0byBndWFyYXRlZSB0aGF0IHRoZXNlIHRyYW5zYWN0aW9ucyBh
cmUgZXhlY3V0ZWQgc2VxdWVudGlhbGx5CisgICAgZGIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgp
IHsgfSk7CisgICAgZGIucmVhZFRyYW5zYWN0aW9uKGRyb3BTdGF0ZW1lbnRzQ2FsbGJhY2ssCisg
ICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7IGxvZ0FuZFRlcm1pbmF0ZVRlc3QoIlJlYWQgJ0RST1An
IHRyYW5zYWN0aW9uIGZhaWxlZCIsIGVycm9yKTsgfSwKKyAgICAgICAgZnVuY3Rpb24oKSB7IGxv
ZygiUmVhZCB0cmFuc2FjdGlvbnMgc3VjY2VlZGVkLiIpOyB0ZXJtaW5hdGVUZXN0KCk7IH0pOwor
fQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB2YXIgZGIgPSBvcGVuRGF0YWJhc2VXaXRo
U3VmZml4KCJBdXRob3JpemVyVGVzdCIsICIxLjAiLCAiVGVzdHMgdGhlIGRhdGFiYXNlIGF1dGhv
cml6ZXIuIiwgMzI3NjgpOworICAgIGNsZWFudXAoZGIpOworICAgIHRlc3RSZWFkV3JpdGVNb2Rl
KGRiKTsKKyAgICB0ZXN0UmVhZE9ubHlNb2RlKGRiKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWV4Y2VwdGlvbi1jcmFzaC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxs
YmFjay1leGNlcHRpb24tY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4OGM3NDI2MDVl
MzRkZGI5ODhlODkzM2MzNGUwNDNhMzNhYzI0ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2gt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorQ09OU09MRSBNRVNTQUdFOiBUcmFuc2FjdGlv
bkNhbGxiYWNrRXJyb3IKK0lmIFdlYktpdCBkb2Vzbid0IGNyYXNoLCB0aGlzIHRlc3QgaGFzIHBh
c3NlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
Y2FsbGJhY2stZXhjZXB0aW9uLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC90cmFuc2FjdGlvbi1jYWxsYmFjay1leGNlcHRpb24tY3Jhc2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YmNjNzMyYmI4ZjJiNTNlY2I0NDgxYTc5OTc1ZTJjY2Y3MWNjZGMzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2stZXhjZXB0
aW9uLWNyYXNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKK30KKwordmFyIGRiID0gb3BlbkRhdGFiYXNlKCIxNTk3NlRlc3QiLCAiMS4wIiwgIlRl
c3QgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTc2IiwgMSk7
CitkYi50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkgeworICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0sIDApOworICAgdGhyb3cgIlRyYW5zYWN0aW9u
Q2FsbGJhY2tFcnJvciI7Cit9KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CitJZiBXZWJL
aXQgZG9lc24ndCBjcmFzaCwgdGhpcyB0ZXN0IGhhcyBwYXNzZWQKKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxi
YWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vi
c3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yN2Y0NzRmN2JjNmVhNzhhOTIxN2I5OGQwOGI5YjI1YTcxMmVmZTRlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJh
Y2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQUxFUlQ6IHVu
ZGVmaW5lZAorQUxFUlQ6IFBBU1M6IGRvY3VtZW50LmJvZHkuYmFyIHZpc2libGUgaW4gYSBjYWxs
YmFjayBjcmVhdGVkIGluIHRoaXMgd29ybGQuCitUaGlzIHRlc3QgdGVzdHMgdGhhdCB0aGUgdHJh
bnNhY3Rpb24gY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9u
LWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjgyNWQ3MDAzNDA0Mjg0
NmVmZDRkMWQ5NTgzYjcyZTJlNTk1MmJiYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwK
QEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorVGhpcyB0
ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiB0aGUg
cmlnaHQgd29ybGQuCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgdHJh
bnNhY3Rpb25DYWxsYmFja3NJbnZva2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlm
ICgoKyt0cmFuc2FjdGlvbkNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25DYWxsYmFjazEodHgpCit7CisgICAgYWxlcnQo
IkZBSUw6IFZpc2libGUgaW4gaXNvbGF0ZWQgd29ybGQuIik7CisgICAgZG9uZSgpOworfQorCitm
dW5jdGlvbiB0cmFuc2FjdGlvbkNhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5i
b2R5LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBk
b2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5i
b2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sg
Y3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVT
Y3JpcHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFu
c2FjdGlvbkNhbGxiYWNrMSh0eClcbiIgKworICAgICAgICAie1xuIiArCisgICAgICAgICIgICAg
YWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisgICAgICAgICIgICAgd2luZG93LmxvY2F0
aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAgICAgICAgIn1cbiIgKworICAgICAgICAi
dmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rpb25DYWxsYmFja0lzb2xhdGVkV29ybGQx
JywgJzEuMCcsICcnLCAxKTtcbiIgKworICAgICAgICAiZGIxLnRyYW5zYWN0aW9uKHRyYW5zYWN0
aW9uQ2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0
aW9uQ2FsbGJhY2tJc29sYXRlZFdvcmxkMicsICcxLjAnLCAnJywgMSk7CisgICAgZGIyLnRyYW5z
YWN0aW9uKHRyYW5zYWN0aW9uQ2FsbGJhY2syKTsKK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24t
ZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwv
dHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2stZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYjMz
YmQ5YWI3ZDA3N2M1ZGQ2M2MwMDc5OGUzZDY3NTAwOWYzMTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNjM6IFtvYmpl
Y3QgT2JqZWN0XQorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDYzOiBbb2JqZWN0IE9iamVjdF0KK1Ro
aXMgdGVzdCBjb25maXJtcyB0aGF0IFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjayBpcyBpbnZv
a2VkIGNvcnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rp
b24gaXMgYWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCitUZXN0aW5nIHRyYW5zYWN0aW9u
IGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUgOiBTVUND
RVNTCitUZXN0aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJh
Y2sgcmV0dXJuIGZhbHNlIDogU1VDQ0VTUworVGVzdGluZyBzdGF0ZW1lbnQgY2FsbGJhY2sgdGhy
b3dpbmcgZXhjZXB0aW9uIGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm5pbmcgdHJ1ZSA6IFNVQ0NF
U1MKK1Rlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBhbmQgZXJy
b3IgY2FsbGJhY2sgcmV0dXJuaW5nIGZhbHNlIDogU1VDQ0VTUworQWxsIFRlc3RzIGFyZSBjb21w
bGV0ZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rp
b24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29y
bGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhMTUzOTY2NzhkOWViZjMxNTJkOGU5Yzg0ZDNj
MTRjYjRlOWYyNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNx
bC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0IEBACitBTEVSVDogdW5kZWZpbmVkCitBTEVSVDogUEFTUzogZG9jdW1lbnQu
Ym9keS5iYXIgdmlzaWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4KK1Ro
aXMgdGVzdCB0ZXN0cyB0aGF0IHRoZSB0cmFuc2FjdGlvbiBlcnJvciBjYWxsYmFjayBpcyBjYWxs
ZWQgaW4gdGhlIHJpZ2h0IHdvcmxkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNv
bGF0ZWQtd29ybGQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjE4OTRkMmVhMjc1OGFlOTFmOTczOWE3YjU1
NWQ1YzZlMzJkY2IxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJz
cWwvdHJhbnNhY3Rpb24tZXJyb3ItY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbApAQCAtMCww
ICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CitUaGlzIHRlc3QgdGVz
dHMgdGhhdCB0aGUgdHJhbnNhY3Rpb24gZXJyb3IgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSBy
aWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0cmFu
c2FjdGlvbkVycm9yQ2FsbGJhY2tzSW52b2tlZCA9IDA7CitmdW5jdGlvbiBkb25lKCkKK3sKKyAg
ICBpZiAoKCsrdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrc0ludm9rZWQgPT0gMikgJiYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKK30KKworZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eCkK
K3sKKyAgICBhbGVydCgiRkFJTDogVmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBk
b25lKCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjazIodHgpCit7Cisg
ICAgYWxlcnQoZG9jdW1lbnQuYm9keS5iYXIpOworICAgIGRvbmUoKTsKK30KKworZG9jdW1lbnQu
Ym9keS5mb28gPSAiRkFJTDogZG9jdW1lbnQuYm9keS5mb28gdmlzaWJsZSBpbiBpc29sYXRlZCB3
b3JsZC4iOworZG9jdW1lbnQuYm9keS5iYXIgPSAiUEFTUzogZG9jdW1lbnQuYm9keS5iYXIgdmlz
aWJsZSBpbiBhIGNhbGxiYWNrIGNyZWF0ZWQgaW4gdGhpcyB3b3JsZC4iOworCitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuY2xlYXJB
bGxEYXRhYmFzZXMoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKAorICAgICAgICAwLAorICAg
ICAgICAiZnVuY3Rpb24gdHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrMSh0eClcbiIgKworICAgICAg
ICAie1xuIiArCisgICAgICAgICIgICAgYWxlcnQoZG9jdW1lbnQuYm9keS5mb28pO1xuIiArCisg
ICAgICAgICIgICAgd2luZG93LmxvY2F0aW9uPSdqYXZhc2NyaXB0OmRvbmUoKSc7XG4iICsKKyAg
ICAgICAgIn1cbiIgKworICAgICAgICAidmFyIGRiMSA9IG9wZW5EYXRhYmFzZSgnVHJhbnNhY3Rp
b25FcnJvckNhbGxiYWNrSXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAg
ICAgICJkYjEudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHtcbiIgKworICAgICAgICAiICAgIHR4
LmV4ZWN1dGVTcWwoJ0JBRCBTVEFURU1FTlQnLCBbXSwgZnVuY3Rpb24odHgsIGRhdGEpIHt9LCBm
dW5jdGlvbih0eCwgZXJyb3IpIHsgcmV0dXJuIHRydWU7IH0pO1xuIiArCisgICAgICAgICJ9LCB0
cmFuc2FjdGlvbkVycm9yQ2FsbGJhY2sxKTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJh
c2UoJ1RyYW5zYWN0aW9uRXJyb3JDYWxsYmFja0lzb2xhdGVkV29ybGQyJywgJzEuMCcsICcnLCAx
KTsKKyAgICBkYjIudHJhbnNhY3Rpb24oZnVuY3Rpb24odHgpIHsKKyAgICAgICAgdHguZXhlY3V0
ZVNxbCgnQkFEIFNUQVRFTUVOVCcsIFtdLCBmdW5jdGlvbih0eCwgZGF0YSkge30sIGZ1bmN0aW9u
KHR4LCBlcnJvcikgeyByZXR1cm4gdHJ1ZTsgfSk7CisgICAgfSwgdHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrMik7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLWVycm9yLWNhbGxiYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1lcnJvci1jYWxsYmFjay5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjkwYjJlZDAzNGZkOTVhN2JhZTUyYTA4NmU5YTJlZTVlYmNkZWY3NzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlv
bi1lcnJvci1jYWxsYmFjay5odG1sCkBAIC0wLDAgKzEsMTA1IEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKK30KKwor
Ly8gc2lnbmFsIHRvIGxheW91dFRlc3RDb250cm9sbGVyIHdoZW4gdGhpcyByZWFjaGVzIHplcm8u
Cit2YXIgdGVzdENvdW50ID0gNDsKKy8vIHdlIGZpcnN0IHJldHJpZXZlIGFuZCBzdG9yZSB0aGUg
bnVtYmVyIG9mIHJvd3MgYWxyZWFkeSBpbiBvdXIgdGVzdCBkYXRhYmFzZS4KKy8vIG91ciBnb2Fs
IGlzIHRvIGtlZXAgdGhlIG51bWJlciB1bmNoYW5nZWQgdGhyb3VnaCB0aGUgdGVzdHMuCit2YXIg
aW5pdGlhbFJvd0NvdW50ID0gMDsKK3ZhciBkYXRhYmFzZTsKK3ZhciBzdWNjZXNzQ2FsbGJhY2tD
YWxsZWQ7CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKQoreworICAgIGlmICgtLXRlc3RDb3VudCkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbG9nKCJBbGwgVGVzdHMgYXJlIGNvbXBsZXRlLiIpOwor
CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworfQorCitmdW5jdGlvbiBzdWNjZXNzQ2FsbGJhY2so
KQoreworICAgIHN1Y2Nlc3NDYWxsYmFja0NhbGxlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIHZl
cmlmeVN1Y2Nlc3MobXNnKQoreworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4
KQorICAgIHsKKyAgICAgICAgdHguZXhlY3V0ZVNxbCgiU0VMRUNUIGNvdW50KCopIEFTIGNvdW50
IEZST00gRXJyb3JDYWxsYmFja1Rlc3QiLCBbXSwgZnVuY3Rpb24odHgsIHJzKQorICAgICAgICB7
CisgICAgICAgICAgICBsb2cobXNnICsgIiA6ICIgKyAocnMucm93cy5pdGVtKDApLmNvdW50ID09
IGluaXRpYWxSb3dDb3VudCAmJiAhc3VjY2Vzc0NhbGxiYWNrQ2FsbGVkID8gIlNVQ0NFU1MiIDog
IkZBSUxVUkUiKSk7CisgICAgICAgICAgICBmaW5pc2hUZXN0KCk7CisgICAgICAgIH0pOworICAg
IH0pOworfQorCitmdW5jdGlvbiBmYWlsTWlkV2F5KGVycm9yQ2FsbGJhY2spCit7CisgICAgc3Vj
Y2Vzc0NhbGxiYWNrQ2FsbGVkID0gZmFsc2U7CisgICAgZGF0YWJhc2UudHJhbnNhY3Rpb24oZnVu
Y3Rpb24odHgpCisgICAgeworICAgICAgICB0eC5leGVjdXRlU3FsKCJJTlNFUlQgSU5UTyBFcnJv
ckNhbGxiYWNrVGVzdChzb21lVmFsdWUpIFZBTFVFUyg/KTsiLCBbIDEgXSk7CisgICAgICAgIHR4
LmV4ZWN1dGVTcWwoIk1VVFRFUiBTT01FVEhJTkcgSUxMRUdJQkxFIik7CisgICAgfSwgZXJyb3JD
YWxsYmFjaywgc3VjY2Vzc0NhbGxiYWNrKTsKK30KKworZnVuY3Rpb24gc3RhdGVtZW50Q2FsbGJh
Y2tUaHJvd3NFeGNlcHRpb24oZXJyb3JDYWxsYmFjaykKK3sKKyAgICBzdWNjZXNzQ2FsbGJhY2tD
YWxsZWQgPSBmYWxzZTsKKyAgICBkYXRhYmFzZS50cmFuc2FjdGlvbihmdW5jdGlvbih0eCkKKyAg
ICB7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIklOU0VSVCBJTlRPIEVycm9yQ2FsbGJhY2tUZXN0
KHNvbWVWYWx1ZSkgVkFMVUVTKD8pOyIsIFsgMSBdLCBmdW5jdGlvbigpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIHRocm93IHt9OworICAgICAgICB9KTsKKyAgICB9KTsKK30KKworZnVuY3Rpb24g
cnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB9CisKKyAgICBkYXRhYmFzZSA9IG9wZW5EYXRh
YmFzZSgiRXJyb3JDYWxsYmFja0RhdGFiYXNlIiwgIjEuMCIsICJUZXN0IGZvciBlcnJvciBjYWxs
YmFjayIsIDEpOworICAgIGRhdGFiYXNlLnRyYW5zYWN0aW9uKGZ1bmN0aW9uKHR4KQorICAgIHsK
KyAgICAgICAgdHguZXhlY3V0ZVNxbCgiQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgRXJyb3JD
YWxsYmFja1Rlc3QgKHNvbWVWYWx1ZSkiLCBbXSk7CisgICAgICAgIHR4LmV4ZWN1dGVTcWwoIlNF
TEVDVCBjb3VudCgqKSBBUyBjb3VudCBGUk9NIEVycm9yQ2FsbGJhY2tUZXN0IiwgW10sIGZ1bmN0
aW9uKHR4LCBycykKKyAgICAgICAgeworICAgICAgICAgICAgaW5pdGlhbFJvd0NvdW50ID0gcnMu
cm93cy5pdGVtKDApLmNvdW50OworICAgICAgICB9KTsKKyAgICB9KTsKKworICAgIGZhaWxNaWRX
YXkoZnVuY3Rpb24oKSB7IHJldHVybiB0cnVlOyB9KTsKKyAgICB2ZXJpZnlTdWNjZXNzKCJUZXN0
aW5nIHRyYW5zYWN0aW9uIGZhaWxpbmcgbWlkLXdheSBhbmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJu
aW5nIHRydWUiKTsKKyAgICBmYWlsTWlkV2F5KGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0p
OworICAgIHZlcmlmeVN1Y2Nlc3MoIlRlc3RpbmcgdHJhbnNhY3Rpb24gZmFpbGluZyBtaWQtd2F5
IGFuZCBlcnJvciBjYWxsYmFjayByZXR1cm4gZmFsc2UiKTsKKyAgICBzdGF0ZW1lbnRDYWxsYmFj
a1Rocm93c0V4Y2VwdGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIHRydWU7IH0pOworICAgIHZlcmlm
eVN1Y2Nlc3MoIlRlc3Rpbmcgc3RhdGVtZW50IGNhbGxiYWNrIHRocm93aW5nIGV4Y2VwdGlvbiBh
bmQgZXJyb3IgY2FsbGJhY2sgcmV0dXJuaW5nIHRydWUiKTsKKyAgICBzdGF0ZW1lbnRDYWxsYmFj
a1Rocm93c0V4Y2VwdGlvbihmdW5jdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9KTsKKyAgICB2ZXJp
ZnlTdWNjZXNzKCJUZXN0aW5nIHN0YXRlbWVudCBjYWxsYmFjayB0aHJvd2luZyBleGNlcHRpb24g
YW5kIGVycm9yIGNhbGxiYWNrIHJldHVybmluZyBmYWxzZSIpOworfQorCis8L3NjcmlwdD4KKzwv
aGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorVGhpcyB0ZXN0IGNvbmZpcm1zIHRo
YXQgPGNvZGU+U1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrPC9jb2RlPiBpcyBpbnZva2VkIGNv
cnJlY3RseSBhbmQgcmVnYXJkbGVzcyBvZiBpdHMgb3V0cHV0LCB0aGUgdHJhbnNhY3Rpb24gaXMg
YWx3YXlzIHJvbGxlZCBiYWNrIG9uIGZhaWx1cmUuCis8cHJlIGlkPSJjb25zb2xlIj4KKzwvcHJl
PgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL3dl
YnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uvd2Vic3FsL3RyYW5zYWN0aW9uLXN1Y2Nlc3MtY2Fs
bGJhY2staXNvbGF0ZWQtd29ybGQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0MjdmNGFjZTcz
ODMzYjVlNmVjNDY4NmFmZTcwNTk2NDNiZjFkOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNrLWlzb2xhdGVk
LXdvcmxkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0FMRVJUOiB1bmRlZmluZWQKK0FM
RVJUOiBQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sgY3JlYXRl
ZCBpbiB0aGlzIHdvcmxkLgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1
Y2Nlc3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNhY3Rpb24tc3VjY2Vzcy1jYWxsYmFj
ay1pc29sYXRlZC13b3JsZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS93ZWJzcWwvdHJhbnNh
Y3Rpb24tc3VjY2Vzcy1jYWxsYmFjay1pc29sYXRlZC13b3JsZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNh
MmRmOTRiMzRhZDU4NmI0MDc2MzQyMGMwYzcwMzY5M2QyMTc4MmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL3dlYnNxbC90cmFuc2FjdGlvbi1zdWNjZXNzLWNhbGxiYWNr
LWlzb2xhdGVkLXdvcmxkLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxib2R5PgorVGhpcyB0ZXN0IHRlc3RzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHN1Y2Nl
c3MgY2FsbGJhY2sgaXMgY2FsbGVkIGluIHRoZSByaWdodCB3b3JsZC4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFja3NJbnZv
a2VkID0gMDsKK2Z1bmN0aW9uIGRvbmUoKQoreworICAgIGlmICgoKyt0cmFuc2FjdGlvblN1Y2Nl
c3NDYWxsYmFja3NJbnZva2VkID09IDIpICYmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
KQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0
aW9uIHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMSh0eCkKK3sKKyAgICBhbGVydCgiRkFJTDog
VmlzaWJsZSBpbiBpc29sYXRlZCB3b3JsZC4iKTsKKyAgICBkb25lKCk7Cit9CisKK2Z1bmN0aW9u
IHRyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNrMih0eCkKK3sKKyAgICBhbGVydChkb2N1bWVudC5i
b2R5LmJhcik7CisgICAgZG9uZSgpOworfQorCitkb2N1bWVudC5ib2R5LmZvbyA9ICJGQUlMOiBk
b2N1bWVudC5ib2R5LmZvbyB2aXNpYmxlIGluIGlzb2xhdGVkIHdvcmxkLiI7Citkb2N1bWVudC5i
b2R5LmJhciA9ICJQQVNTOiBkb2N1bWVudC5ib2R5LmJhciB2aXNpYmxlIGluIGEgY2FsbGJhY2sg
Y3JlYXRlZCBpbiB0aGlzIHdvcmxkLiI7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5jbGVhckFsbERhdGFiYXNlcygpOworICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXZhbHVhdGVT
Y3JpcHRJbklzb2xhdGVkV29ybGQoCisgICAgICAgIDAsCisgICAgICAgICJmdW5jdGlvbiB0cmFu
c2FjdGlvblN1Y2Nlc3NDYWxsYmFjazEodHgpXG4iICsKKyAgICAgICAgIntcbiIgKworICAgICAg
ICAiICAgIGFsZXJ0KGRvY3VtZW50LmJvZHkuZm9vKTtcbiIgKworICAgICAgICAiICAgIHdpbmRv
dy5sb2NhdGlvbj0namF2YXNjcmlwdDpkb25lKCknO1xuIiArCisgICAgICAgICJ9XG4iICsKKyAg
ICAgICAgInZhciBkYjEgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0NhbGxiYWNr
SXNvbGF0ZWRXb3JsZDEnLCAnMS4wJywgJycsIDEpO1xuIiArCisgICAgICAgICJkYjEudHJhbnNh
Y3Rpb24oZnVuY3Rpb24odHgpIHsgfSwgbnVsbCwgdHJhbnNhY3Rpb25TdWNjZXNzQ2FsbGJhY2sx
KTsiKTsKKworICAgIHZhciBkYjIgPSBvcGVuRGF0YWJhc2UoJ1RyYW5zYWN0aW9uU3VjY2Vzc0Nh
bGxiYWNrSXNvbGF0ZWRXb3JsZDInLCAnMS4wJywgJycsIDEpOworICAgIGRiMi50cmFuc2FjdGlv
bihmdW5jdGlvbih0eCkgeyB9LCBudWxsLCB0cmFuc2FjdGlvblN1Y2Nlc3NDYWxsYmFjazIpOwor
fQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>