<?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>70251</bug_id>
          
          <creation_ts>2011-10-17 11:26:25 -0700</creation_ts>
          <short_desc>IndexedDB: Passing empty array to IDBDatabase.transaction should raise exception</short_desc>
          <delta_ts>2011-10-27 06:36:14 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>abarth</cc>
    
    <cc>dgrogan</cc>
    
    <cc>hans</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>485311</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-17 11:26:25 -0700</bug_when>
    <thetext>IndexedDB: Passing empty array to IDBDatabase.transaction should raise exception</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485322</commentid>
    <comment_count>1</comment_count>
      <attachid>111290</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-17 11:44:41 -0700</bug_when>
    <thetext>Created attachment 111290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485325</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-17 11:46:44 -0700</bug_when>
    <thetext>Attachment 111290 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;]&quot; exit_code: 2

Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Re-trying &apos;depot_tools/gclient sync&apos;
Error: Can&apos;t switch the checkout to http://v8.googlecode.com/svn/branches/3.6@9637; UUID don&apos;t match and there is local changes in /mnt/git/webkit-style-queue/Source/WebKit/chromium/v8. Delete the directory and try again.
Error: &apos;depot_tools/gclient sync&apos; failed 3 tries and returned 256 at Tools/Scripts/update-webkit-chromium line 107.
Re-trying &apos;depot_tools/gclient sync&apos;
No such file or directory at Tools/Scripts/update-webkit line 104.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485328</commentid>
    <comment_count>3</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-17 11:47:51 -0700</bug_when>
    <thetext>Since this is likely to break code, we may want to consider having this show a warning on the console rather than failing, at least for a milestone.

(Personally, I&apos;d rather just throw the switch and get the pain over with.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485508</commentid>
    <comment_count>4</comment_count>
      <attachid>111290</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2011-10-17 14:30:06 -0700</bug_when>
    <thetext>Comment on attachment 111290
Patch

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

LGTM

I didn&apos;t look at every single test, just spot-checked a few.

&gt; LayoutTests/storage/indexeddb/transaction-basics.html:209
&gt; +    transaction = evalAndLog(&quot;db.transaction([&apos;storeName&apos;], webkitIDBTransaction.READ_WRITE)&quot;);

This could be READ_ONLY I think, but don&apos;t upload a new patch solely for that.

&gt; LayoutTests/storage/indexeddb/tutorial.html:213
&gt; +    // First of all is the parameter &quot;objectStoreNames&quot;, which must be an array of names of the 

I&apos;m guessing the &quot;if you pass in a string&quot; part is not in the spec?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485515</commentid>
    <comment_count>5</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-17 14:39:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; 
&gt; &gt; LayoutTests/storage/indexeddb/transaction-basics.html:209
&gt; &gt; +    transaction = evalAndLog(&quot;db.transaction([&apos;storeName&apos;], webkitIDBTransaction.READ_WRITE)&quot;);
&gt; 
&gt; This could be READ_ONLY I think, but don&apos;t upload a new patch solely for that.

Yeah, there is a lot of cruft in the unit tests. Rather than doing extensive cleanup I only changed transaction creation and tests directly related to this change that would become invalid.
 
&gt; &gt; LayoutTests/storage/indexeddb/tutorial.html:213
&gt; &gt; +    // First of all is the parameter &quot;objectStoreNames&quot;, which must be an array of names of the 
&gt; 
&gt; I&apos;m guessing the &quot;if you pass in a string&quot; part is not in the spec?

huh.... looking more deeply, that *is* supported in the spec: 

&quot;If storeNames is of type DOMStringList or Array leave it as is. Otherwise, interpret it as an Array with one value, and that value is the stringified version of storeNames. If any of the strings in storeNames identifies an object store which doesn&apos;t exist, throw a NOT_FOUND_ERR exception.&quot;

However, in our IDL it&apos;s a DOMStringList. Passing in a string &quot;just worked&quot; in WebKit because a anything other than a string array (e.g. an object, a single string, etc) was being coerced into an empty DOMStringList, and hitting the previous case.

I&apos;ll follow up on the list to ensure that single string behavior is still desired. That would require more extensive code changes and revert many of the layouttest changes in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486312</commentid>
    <comment_count>6</comment_count>
      <attachid>111502</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-18 14:32:24 -0700</bug_when>
    <thetext>Created attachment 111502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486334</commentid>
    <comment_count>7</comment_count>
      <attachid>111502</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-18 15:02:45 -0700</bug_when>
    <thetext>Comment on attachment 111502
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8IDBDatabaseCustom.cpp:48
&gt; +v8::Handle&lt;v8::Value&gt; V8IDBDatabase::transactionCallback(const v8::Arguments&amp; args)

Why does this need to be custom?

&gt; Source/WebCore/storage/IDBDatabase.idl:51
&gt; +        // FIXME: Improve code generator so this doesn&apos;t need to be Custom.

Can we just do that now instead of adding the custom implementation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486342</commentid>
    <comment_count>8</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-18 15:11:18 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 111502 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=111502&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/v8/custom/V8IDBDatabaseCustom.cpp:48
&gt; &gt; +v8::Handle&lt;v8::Value&gt; V8IDBDatabase::transactionCallback(const v8::Arguments&amp; args)
&gt; 
&gt; Why does this need to be custom?

The proposed IDL has three versions: one that takes a DOMString, one that takes a DOMStringList, and one that takes a DOMString[] - which we don&apos;t appear to support yet.  Without the third, if you pass [&quot;a&quot;, &quot;b&quot;] it is coerced into a DOMString &quot;ab&quot; and the first is invoked.

&gt; 
&gt; &gt; Source/WebCore/storage/IDBDatabase.idl:51
&gt; &gt; +        // FIXME: Improve code generator so this doesn&apos;t need to be Custom.
&gt; 
&gt; Can we just do that now instead of adding the custom implementation?

That would be preferable, if the above seems tractable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486344</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-18 15:13:12 -0700</bug_when>
    <thetext>Autogeneration is preferable to custom bindings code because custom bindings are always wrong.  :)

If there&apos;s a problem parsing DOMString[], we can use something like DOMStringArray instead with a FIXME to change this once our IDL parser is smarter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487766</commentid>
    <comment_count>10</comment_count>
      <attachid>111823</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-20 12:17:20 -0700</bug_when>
    <thetext>Created attachment 111823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487791</commentid>
    <comment_count>11</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2011-10-20 12:40:17 -0700</bug_when>
    <thetext>The IDB stuff all LGTM, but let abarth look at the bindings part.  I&apos;m assuming you ran the code generator&apos;s tests.  (I&apos;m also assuming that such things exist.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487943</commentid>
    <comment_count>12</comment_count>
      <attachid>111860</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-20 15:43:46 -0700</bug_when>
    <thetext>Created attachment 111860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>487946</commentid>
    <comment_count>13</comment_count>
      <attachid>111860</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-20 15:46:35 -0700</bug_when>
    <thetext>Comment on attachment 111860
Patch

Latest patch adds support in the JS code generator and code generator test cases for DOMString[]. I didn&apos;t touch the other generators.

Any further suggestions, abarth?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490472</commentid>
    <comment_count>14</comment_count>
      <attachid>111860</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-25 16:53:26 -0700</bug_when>
    <thetext>Comment on attachment 111860
Patch

Looks fantastic.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490520</commentid>
    <comment_count>15</comment_count>
      <attachid>111860</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-25 18:19:47 -0700</bug_when>
    <thetext>Comment on attachment 111860
Patch

Rejecting attachment 111860 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:
Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
Hunk #1 succeeded at 1160 (offset -10 lines).
Hunk #2 succeeded at 1191 (offset -10 lines).
patching file Source/WebCore/storage/IDBDatabase.cpp
patching file Source/WebCore/storage/IDBDatabase.h
patching file Source/WebCore/storage/IDBDatabase.idl
patching file Source/WebCore/storage/IDBTransactionBackendImpl.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Adam Barth&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/10210424</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490884</commentid>
    <comment_count>16</comment_count>
      <attachid>112517</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-26 08:58:34 -0700</bug_when>
    <thetext>Created attachment 112517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490945</commentid>
    <comment_count>17</comment_count>
      <attachid>112517</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-26 09:49:55 -0700</bug_when>
    <thetext>Comment on attachment 112517
Patch

Not quite sure what happened with previous patch, but I needed to rebase anyway. (Looks like this one&apos;s cr-linux failed since bugs.webkit.org was flaky right after I uploaded and the bots couldn&apos;t fetch the patch.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491318</commentid>
    <comment_count>18</comment_count>
      <attachid>112517</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-10-26 18:26:06 -0700</bug_when>
    <thetext>Comment on attachment 112517
Patch

Ok.  I think the SVN server might be down, but we&apos;ll give it a try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491523</commentid>
    <comment_count>19</comment_count>
      <attachid>112517</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-27 06:36:08 -0700</bug_when>
    <thetext>Comment on attachment 112517
Patch

Clearing flags on attachment: 112517

Committed r98563: &lt;http://trac.webkit.org/changeset/98563&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>491525</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-27 06:36:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111290</attachid>
            <date>2011-10-17 11:44:41 -0700</date>
            <delta_ts>2011-10-18 14:32:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70251-20111017114440.patch</filename>
            <type>text/plain</type>
            <size>87179</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0ODgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2OWE1YWIwYzcxODE4ZTExMmE3NDNh
ZTY1M2U2Y2UzOTIwMTI4MThkLi5mZDEyODhiZTRjZjFjMjQ1OGI0NWU0ZDdhNGNiN2U5YjU3MzQ5
MzEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsODEgQEAKKzIwMTEtMTAtMTcgIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFBhc3NpbmcgZW1wdHkgYXJy
YXkgdG8gSURCRGF0YWJhc2UudHJhbnNhY3Rpb24gc2hvdWxkIHJhaXNlIGV4Y2VwdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW55IHRlc3RzIHJl
bGllZCBvbiB0aGUgbm93LWRpc2FsbG93ZWQgYmVoYXZpb3Igb2YgcGFzc2luZyBhbiBlbXB0eSBh
cnJheQorICAgICAgICBpbnRvIElEQkRhdGFiYXNlLnRyYW5zYWN0aW9uKCkgdG8gaW5jbHVkZSBh
bGwgb2JqZWN0IHN0b3JlcyBpbiBzY29wZXMuCisgICAgICAgIFdvcnNlLCBub24tYXJyYXlzIChz
dHJpbmdzLCBvYmplY3RzKSB3b3VsZCBiZSB0cmVhdGVkIGFzIGVtcHR5IGFycmF5cywgc28KKyAg
ICAgICAgbWFueSB0ZXN0cyBwYXNzZWQgaW4gYSBzdG9yZSBuYW1lIG9yIG9wdGlvbnMgb2JqZWN0
IChwZXIgYW5jaWVudCB2ZXJzaW9uIG9mCisgICAgICAgIHRoZSBzcGVjKSBhbmQgdGhlc2UgImp1
c3Qgd29ya2VkIi4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVt
b3ZlLW9iamVjdC1zdG9yZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29uc2lzdGVu
Y3kuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVk
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1k
ZWxldGVkLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0
LWJ5LWRlZmF1bHQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24t
aW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvaW5kZXgtdW5pcXVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC11bmlxdWUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tb3pp
bGxhL2F1dG9pbmNyZW1lbnQtaW5kZXhlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NsZWFyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2NsZWFyLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0
YXRpb24tb2JqZWN0c3RvcmUtb25seS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvZ2xvYmFsLWRhdGEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL2luZGV4ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvaW5kZXhlcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvb2RkLXJlc3VsdC1vcmRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkb25seS10cmFuc2FjdGlvbnMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rp
b25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkd3JpdGUt
dHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL3JlYWR3cml0ZS10cmFuc2FjdGlvbnMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sOgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVv
YmplY3RzdG9yZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZl
bnQtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMt
cmVjdXJzaW9uLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24t
YWJvcnQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRl
ci1jbG9zZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYWZ0ZXItY2xvc2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFu
c2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNy
YXNoLW9uLWFib3J0Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tZXZlbnQtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVhZC1vbmx5LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkLW9ubHkuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5odG1sOgorCiAyMDExLTEwLTE0ICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVt
XSBVcGRhdGUgZXhwZWN0YXRpb25zIGFmdGVyIHI5NzQ4MS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92
ZS1vYmplY3Qtc3RvcmUtZXhwZWN0ZWQudHh0CmluZGV4IDUyOGJhODllOTVhZjA3ZThjOGY0OGQ2
MzhhZjRjMjQ4ODUxOGY2MDQuLjgzZTJkYmQzOTdmNmNhYWUzMWJiYTlmZGY0NmI5MDEyNGU0YmEz
YmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQt
cmVtb3ZlLW9iamVjdC1zdG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLWV4cGVjdGVkLnR4dApA
QCAtMjgsNyArMjgsNyBAQCBkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykKIEV4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykKIFBBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQ09O
U1RSQUlOVF9FUlIKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEV9KQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3RtcCddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub2JqZWN0U3RvcmUoJ3RtcCcpLmdl
dCgwKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIHVuZGVmaW5lZC4KIFRyeWluZyBjcmVh
dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQt
cmVtb3ZlLW9iamVjdC1zdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKaW5kZXggNDNjMWZlMWYxYTlhMmMx
ZDdkZGExOGExZjM5OTUyMGU3MWU4YzgxYS4uMzYwYzM2ZjRjMjE3MWM2ZjY4Y2VmMzdlMDcxNmZm
Zjc3MWY0MzUyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Jl
YXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKQEAgLTQ3LDcg
KzQ3LDcgQEAgZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiAgICAgb3MgPSBldmFsQW5kTG9nKCJk
Yi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykiKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9u
KCJkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uQ09OU1RSQUlOVF9FUlIiKTsKIAotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBk
Yi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pIik7
CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsndG1wJ10s
IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coInRyYW5zLm9iamVjdFN0b3JlKCd0bXAnKS5nZXQoMCkiKTsKICAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IHRyeU9uY2VNb3JlOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy1leHBlY3RlZC50eHQK
aW5kZXggNWYwZTk0ZGZiNjAyZGY0YTcyZWEyM2M1MWU2NmExNjQwZjUwYWYwNy4uMTY1Yzg5ZmY4
NjRmN2QzY2E5NGJmNjliOTY3MGE5MTVlZmQ1NWI4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3Jl
LW9wdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0xMiw3ICsxMiw3IEBAIERlbGV0ZWQgYWxsIG9iamVj
dCBzdG9yZXMuCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnYScsIHtrZXlQYXRoOiAnYSd9KQogZGIu
Y3JlYXRlT2JqZWN0U3RvcmUoJ2InKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2MnLCB7YXV0b0lu
Y3JlbWVudDogdHJ1ZX0pOwotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydhJywgJ2InXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIFBBU1MgdHJhbnMubW9kZSBpcyB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFCiB0cmFucy5vYmplY3RTdG9yZSgnYScpLnB1dCh7
J2EnOiAwfSkKIHRyYW5zLm9iamVjdFN0b3JlKCdiJykucHV0KHsnYSc6IDB9LCAwKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1v
cHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0
LXN0b3JlLW9wdGlvbnMuaHRtbAppbmRleCBiZjYwMGQ3YTllZTNjMDhjMTRjZDE0ZGJkYWVmMWMz
OTJjMTg5ZDVmLi5iOWJlY2YzOTM5NzY4MTNiNmZiZjM4NzQ0OWVjY2Y4ZDM4NTMxNDVkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3Jl
LW9wdGlvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUt
b2JqZWN0LXN0b3JlLW9wdGlvbnMuaHRtbApAQCAtNDMsNyArNDMsNyBAQCBmdW5jdGlvbiBjbGVh
bkRhdGFiYXNlKCkKICAgICBkZWJ1ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2MnLCB7YXV0b0lu
Y3JlbWVudDogdHJ1ZX0pOyIpOwogICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdjJywge2F1dG9J
bmNyZW1lbnQ6IHRydWV9KTsKIAotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydhJywgJ2InXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBzaG91bGRCZSgidHJhbnMubW9k
ZSIsICJ3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFIik7CiAKICAgICByZXEgPSBldmFs
QW5kTG9nKCJ0cmFucy5vYmplY3RTdG9yZSgnYScpLnB1dCh7J2EnOiAwfSkiKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNp
c3RlbmN5LWV4cGVjdGVkLnR4dAppbmRleCAxMWNjMjkyMTJhNjE4NTFlOTU4MDE2ZmIyZDc3ZDA1
NDNlZTcxOTVkLi5iYWNkNDFkMDMzZGYwYzM3Njk5ZWQ4Mjg0NDExMWEzZGIwY2E1NThiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5j
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LWluY29uc2lzdGVuY3ktZXhwZWN0ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIG9iamVjdFN0b3Jl
LmFkZCgnc29tZVZhbHVlMicsICdzb21lS2V5MicpLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjawogb2JqZWN0U3RvcmUuYWRkKCdzb21lVmFsdWUzJywgJ3NvbWVLZXkzJykub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoJ3NvbWVWYWx1ZTQn
LCAnc29tZUtleTQnKS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2sKIG9wZW5CYXNp
Y0N1cnNvcigpCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ2Jhc2ljU3RvcmUnXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0
b3JlJykKIG9iamVjdFN0b3JlLm9wZW5DdXJzb3Ioa2V5UmFuZ2UpCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5odG1sCmlu
ZGV4IGI5Y2NiNThiMmRjOTlhMDQxMjYxMGYyOGI5NTkxMzM2YWY0ZjZjZGYuLjBkODU4M2E1NjVj
MDUxMjE0ODkyODFhOGNlMTU1ODkzMDE5NWQ2ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbApAQCAtNTMsNyAr
NTMsNyBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVuQmFzaWND
dXJzb3IoKQogewogICAgIGRlYnVnKCJvcGVuQmFzaWNDdXJzb3IoKSIpOwotICAgIGV2YWxBbmRM
b2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUpIik7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ2Jhc2lj
U3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5v
bmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9
IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQKaW5kZXgg
MzE3YzkyNWE3NDcxY2RlYWM4ODE4YmJkMzAxZWNkYTA0NjdjZmJkMS4uZTEyOWFkOTFkNmEwNDEx
ZGNjOTQ3Y2NiYzE3OTFmN2VmZTcxN2RhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQK
QEAgLTE2LDcgKzE2LDcgQEAgb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ25hbWVJbmRleCcsICdu
YW1lJykKIHJlc2V0T2JqZWN0U3RvcmUoKToKIAogYmFzaWNDdXJzb3JUZXN0KCkKLXRyYW5zID0g
ZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkKIAogdGVzdEN1cnNvcigpOgogdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykub3BlbkN1
cnNvcih3ZWJraXRJREJLZXlSYW5nZS5sb3dlckJvdW5kKDApKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sCmluZGV4IGEz
YmIwZDk1ZWVhYTIyNzU2NjhiYzlmMWE0MzUyMGVkNjkxYzM0ZTguLjA0MTMwZmVkZGIzYThlMjBh
MDlhMzEzMWFmMGYzM2FiYzU3OGM4OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKQEAgLTE0Niw3ICsxNDYsNyBA
QCBmdW5jdGlvbiBiYXNpY0N1cnNvclRlc3QoKQogewogICAgIGRlYnVnKCJiYXNpY0N1cnNvclRl
c3QoKSIpOwogCi0gICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAg
dHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQK
aW5kZXggOTU1YmNmOTE4ZWRlZDQ4YmQxMWJmYWFlNGE0ZGFiOTZhYjUzZDcyZC4uNGFlYmQ1NDZl
MDc1OTVjMWFjMDZiOWE4NDE0ZTcwMjRiMGY2M2EwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTI3
LDcgKzI3LDcgQEAgb2JqZWN0U3RvcmUuYWRkKHtudW1iZXI6IDIsIGlkOiAyfSkub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoe251bWJlcjogMywgaWQ6
IDN9KS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2sKIG9iamVjdFN0b3JlLmFkZCh7
bnVtYmVyOiA0LCBpZDogNH0pLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb3Bl
bkJhc2ljQ3Vyc29yKCkKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnYmFzaWNTdG9yZScs
ICdhdXRvSW5jcmVtZW50U3RvcmUnLCAna2V5UGF0aFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vYmplY3RTdG9yZSgnYmFzaWNTdG9yZScpCiBvYmplY3RT
dG9yZS5vcGVuQ3Vyc29yKGtleVJhbmdlKQogYmFzaWNVcGRhdGVDdXJzb3IoKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCmluZGV4IDc4M2E4
OGMwMTdlYzQ1OTU0MzYzOTVjNTgwNzg0NDRhYTg0ZDQ3MzEuLmZkOTcyOTQ2OTFjZTk2MzY0YmQw
Mzg4ODMzZTI2OTEyYWYxNWU4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2N1cnNvci11cGRhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwKQEAgLTY1LDcgKzY1LDcgQEAgZnVuY3Rpb24gc2V0VmVy
c2lvblN1Y2Nlc3MoKQogZnVuY3Rpb24gb3BlbkJhc2ljQ3Vyc29yKCkKIHsKICAgICBkZWJ1Zygi
b3BlbkJhc2ljQ3Vyc29yKCkiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRM
b2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydiYXNpY1N0b3JlJywgJ2F1dG9JbmNyZW1lbnRT
dG9yZScsICdrZXlQYXRoU3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSki
KTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJh
bnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0
CmluZGV4IGEwMmI1NGMyZTE4MDk2MzExZWFlZTcyYzk4OTE1YjNiZWQ4Y2MyZDMuLjMxYjE0YThm
Njk0MThjNGY5MDZjNWQ0NTQ2MzdiMWYzM2Q4NDY0YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dApA
QCAtMTMsMTAgKzEzLDEwIEBAIFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQogRGVsZXRlZCBh
bGwgb2JqZWN0IHN0b3Jlcy4KIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogYWRk
RGF0YSgpOgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5h
bWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHJlcXVlc3QgPSB0cmFuc2Fj
dGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykuYWRkKHt4OiB0ZXN0RGF0ZX0sICdrZXknKQog
YWRkRGF0YSgpOgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9PTkxZKQordHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3Jl
TmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX09OTFkpCiByZXF1ZXN0ID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFy
Z2V0LnJlc3VsdC54LnRvU3RyaW5nKCkgPT0gdGVzdERhdGUudG9TdHJpbmcoKSBpcyB0cnVlCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1sCmluZGV4IGVhNzkyOGIxOGJmODViZWZl
M2I0ODI2Nzg4ZjQ2ZjVhNGY4MmMwYTMuLjBhZGIyMzVlNWJmOGRmNmJlMGYyMDY1N2YzN2QyNTY3
OGQzNDkyOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEt
Y29ycnVwdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEt
Y29ycnVwdGlvbi5odG1sCkBAIC00OSw3ICs0OSw3IEBAIHZhciB0ZXN0RGF0ZSA9IG5ldyBEYXRl
KCdGZWJydWFyeSAyNCwgMTk1NSAxMjowMDowOCcpOwogZnVuY3Rpb24gYWRkRGF0YSgpCiB7CiAg
ICAgZGVidWcoImFkZERhdGEoKToiKTsKLSAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9n
KCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKSIpOworICAgIHZhciB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykuYWRkKHt4OiB0ZXN0RGF0ZX0sICdr
ZXknKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwog
ICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBnZXREYXRhOwpAQCAtNTgsNyArNTgsNyBAQCBm
dW5jdGlvbiBhZGREYXRhKCkKIGZ1bmN0aW9uIGdldERhdGEoKQogewogICAgIGRlYnVnKCJhZGRE
YXRhKCk6Iik7Ci0gICAgdmFyIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKSIpOwor
ICAgIHZhciB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKSIpOwog
ICAgIHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKS5nZXQoJ2tleScpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkb0NoZWNr
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVv
dGEuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0
bWwKaW5kZXggMmU2MjJmMDQ1NThlY2E3ZTBmMGVhNzU3NDFiNGRlMWNmNDVmOGI4Yi4uN2FkMGM0
ODI2OWY4YTAzMjA0MWE4ZWNhNTJjOThmY2YwNDEzMTY3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCkBAIC02MSw3ICs2MSw3IEBA
IGZ1bmN0aW9uIGNoZWNrT2JqZWN0U3RvcmUoKQogCiBmdW5jdGlvbiBjaGVja1F1b3RhRW5mb3Jj
aW5nKCkKIHsKLSAgICB2YXIgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHZhciB0cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0MTIzJ10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHRlc3RD
b21wbGV0ZTsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJh
Y2s7CiAgICAgZGVidWcoIkNyZWF0aW5nICdkYXRhJyB3aGljaCBjb250YWlucyA2NEsgb2YgZGF0
YSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1
c2VzLWFib3J0LWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0CmluZGV4
IDk2ZjRiNjVmNjQ3MTc3MjAzN2I3N2IyNDgwOWIxOTg2N2QzYmQ4MzMuLjhhNTVkOWY3NzI0ZTVm
MjNkODM1NDNlZjA3ZWQ2NTQyYWYwMWFiNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnkt
ZGVmYXVsdC1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgUEFTUyB0cmFucyAhPT0gbnVs
bCBpcyB0cnVlCiB0cmFucy5vbmNvbXBsZXRlID0gYWRkRGF0YQogRGVsZXRlZCBhbGwgb2JqZWN0
IHN0b3Jlcy4KIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKQotdHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3Ry
YW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJh
bnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGVkCiBzdG9yZSA9IHRyYW5zLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQpAQCAtMjIsNyArMjIsNyBAQCBldmVudC5wcmV2ZW50RGVmYXVs
dCgpCiBQQVNTIFRyYW5zYWN0aW9uIGNvbXBsZXRlZAogCiAKLXRyYW5zID0gZGIudHJhbnNhY3Rp
b24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5z
YWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0
cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkMQogdHJhbnMub25jb21wbGV0ZSA9IHVu
ZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKQpAQCAtMzEsNyArMzEsNyBAQCBEb2luZyBub3RoaW5nIHRvIHByZXZlbnQgdGhlIGRl
ZmF1bHQgYWN0aW9uLi4uCiBQQVNTIFRyYW5zYWN0aW9uIGFib3J0ZWQKIAogCi10cmFucyA9IGRi
LnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKQogdHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDIKIHRyYW5zLm9uY29t
cGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjawogc3RvcmUgPSB0cmFucy5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sCmluZGV4IDhj
ZTZkMDdkNzUxN2RiYTg2YWExMGMzMzg2N2ZhN2U4ODFmZDU2ZjkuLmQxOThiMGFjYzE1ZGU1NjA4
ZmQ4ZmRkZDk1ZDhmYmZkMDMxMTg2NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRt
bApAQCAtNDUsNyArNDUsNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiAKIGZ1bmN0aW9u
IGFkZERhdGEoKQogewotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2Fj
dGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9
IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFi
b3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5v
bmNvbXBsZXRlID0gdHJhbnNhY3Rpb25Db21wbGV0ZWQiKTsKICAgICBzdG9yZSA9IGV2YWxBbmRM
b2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CkBAIC03Miw3ICs3
Miw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQ29tcGxldGVkKCkKICAgICB0ZXN0UGFzc2VkKCJU
cmFuc2FjdGlvbiBjb21wbGV0ZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIiIpOwot
ICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rp
b25BYm9ydGVkMSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVj
dGVkQ29tcGxldGVDYWxsYmFjayIpOwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0
cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKQEAgLTkxLDcgKzkxLDcgQEAgZnVuY3Rp
b24gdHJhbnNhY3Rpb25BYm9ydGVkMSgpCiAgICAgdGVzdFBhc3NlZCgiVHJhbnNhY3Rpb24gYWJv
cnRlZCIpOwogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiIik7Ci0gICAgdHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwog
ICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyIik7CiAg
ICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxi
YWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4dApp
bmRleCBkNGI3NGZhZGYxMjcwY2VlZTAzZGM1ZjUxY2M4YWJlYzQ3ZWJkYmEwLi5lOTc4NWNiMTZh
OGYyNWUzMWZjZWE2Yjk4ZDg4NzZmN2YyMzIxMDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJv
cnRzLWV4cGVjdGVkLnR4dApAQCAtMTYsNyArMTYsNyBAQCBEZWxldGVkIGFsbCBvYmplY3Qgc3Rv
cmVzLgogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0
b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6eid9LCAna2V5JykKIAotdHJhbnMgPSBkYi50cmFu
c2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIu
dHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkKIHRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQxCiB0cmFucy5vbmNvbXBsZXRl
ID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpCkBAIC0yNiw3ICsyNiw3IEBAIGV2ZW50LnByZXZlbnREZWZhdWx0KCkKIFRo
cm93aW5nCiAKIFBBU1MgVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLgotdHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0g
ZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkKIHRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyCiB0cmFucy5vbmNvbXBs
ZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpCkBAIC0zNiw3ICszNiw3IEBAIGV2ZW50LnByZXZlbnREZWZhdWx0KCkK
IFRocm93aW5nCiAKIFBBU1MgVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLgotdHJhbnMgPSBk
Yi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5z
ID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMu
b25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGVkMQogc3RvcmUgPSB0cmFucy5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKQEAgLTQ2LDcgKzQ2LDcgQEAgZXZlbnQucHJldmVudERlZmF1bHQo
KQogVGhyb3dpbmcgd2l0aGluIGEgdHJ5IGJsb2NrCiAKIFBBU1MgVGhlIHRyYW5zYWN0aW9uIGNv
bXBsZXRlZC4KLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0Q2FsbGJhY2sKIHRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlZDIKIHN0
b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0
bWwKaW5kZXggODllMjdlZjBkZGRhMmQzOGQ5MGVhMGRjMjZkOWQyYzYyNTRhMTUxNy4uOWY1MjJi
ZTFiNThkMjA4MGI5ZmUzZmFhN2NlNzAxMzg4NGIwOTczOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMu
aHRtbApAQCAtNDgsNyArNDgsNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlv
biBzdGFydFRlc3QoKQogewogICAgIGRlYnVnKCIiKTsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsn
c3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZh
bEFuZExvZygidHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDEiKTsKICAgICBldmFs
QW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2siKTsK
ICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpIik7CkBAIC02OSw3ICs2OSw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZDEo
KQogewogICAgIGRlYnVnKCIiKTsKICAgICB0ZXN0UGFzc2VkKCJUaGUgdHJhbnNhY3Rpb24gd2Fz
IGFib3J0ZWQuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0g
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJv
cnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21w
bGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5k
TG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAtODIsNyAr
ODIsNyBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQyKCkKIHsKICAgICBkZWJ1ZygiIik7
CiAgICAgdGVzdFBhc3NlZCgiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLiIpOwotICAgIHRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0g
ZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0
Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdHJhbnNhY3Rp
b25Db21wbGV0ZWQxIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAtMTA3LDcgKzEwNyw3IEBAIGZ1bmN0aW9uIHRy
YW5zYWN0aW9uQ29tcGxldGVkMSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIHRlc3RQYXNzZWQo
IlRoZSB0cmFuc2FjdGlvbiBjb21wbGV0ZWQuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0
b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxB
bmRMb2coInRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjayIpOwogICAgIGV2
YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlZDIiKTsKICAg
ICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11
bmlxdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgt
dW5pcXVlLWV4cGVjdGVkLnR4dAppbmRleCA5ZjEwZjQxNDRmZmQ0OGE1NmI4ZDU4YWY5MGYwOWJj
NmY0MzE4ZjhlLi5iMWEwMjczMDM0N2FlZjQ4ZTMzMTZjMjU2ZTY4MGU4ZDY0NjM4NjY3IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS1l
eHBlY3RlZC50eHQKQEAgLTEzLDcgKzEzLDcgQEAgRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4K
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCiBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgn
LCAneCcsIHt1bmlxdWU6IHRydWV9KQogc2V0VmVyc2lvbkNvbXBsZXRlZCgpOgotdHJhbnNhY3Rp
b24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkK
K3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKQogdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt4
OiAxfSwgJ2ZvbycpCiBhZGRNb3JlRGF0YSgpOgogdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlJykucHV0KHt4OiAxfSwgJ2JhcicpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2luZGV4LXVuaXF1ZS5odG1sCmluZGV4IDUwYjYzOWJiNmQxYzcwYzEwODNjOTY2MDZlYjY3
NTUzMGY5ODQyZjguLmIwN2UxODQwM2I4MmY5NjU4ZGZjNjZmM2I0NTYxZWMzMDkxNjVhMWUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1sCkBA
IC00OSw3ICs0OSw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIGZ1bmN0aW9uIHNldFZl
cnNpb25Db21wbGV0ZWQoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7
Ci0gICAgd2luZG93LnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB3
aW5kb3cudHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKIAogICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKS5w
dXQoe3g6IDF9LCAnZm9vJykiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJy
b3JDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvYXV0b2luY3JlbWVudC1pbmRleGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1pbmRleGVzLWV4cGVjdGVkLnR4
dAppbmRleCAyMzk2Mjg4NTE4OTlkNDExMWI4ZWIyYTRiOGZmY2E1NmYxNDllMWNkLi43ZjVkYmFl
NGY3MDllYTg3YzkxNTAyZTQ5ODhlNDhjMDkwODI2NjNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1dG9pbmNyZW1lbnQtaW5kZXhlcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hdXRvaW5j
cmVtZW50LWluZGV4ZXMtZXhwZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIGRhdGEgPSB7IGZp
cnN0OiAnZm9vJywgc2Vjb25kOiAnZm9vJywgdGhpcmQ6ICdmb28nIH07CiByZXF1ZXN0ID0gb2Jq
ZWN0U3RvcmUuYWRkKGRhdGEpOwoga2V5ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsKIFBBU1Mga2V5
ID09IG51bGwgaXMgZmFsc2UKLW9iamVjdFN0b3JlID0gZGIudHJhbnNhY3Rpb24oJ2ZvbycpLm9i
amVjdFN0b3JlKCdmb28nKTsKK29iamVjdFN0b3JlID0gZGIudHJhbnNhY3Rpb24oWydmb28nXSku
b2JqZWN0U3RvcmUoJ2ZvbycpOwogZmlyc3QgPSBvYmplY3RTdG9yZS5pbmRleCgnZmlyc3QnKTsK
IHJlcXVlc3QgPSBmaXJzdC5nZXQoJ2ZvbycpOwogUEFTUyBldmVudC50YXJnZXQucmVzdWx0Lmlk
IGlzIGtleQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1pbmRleGVzLmh0bWwKaW5kZXggNmYwNTM1ZDIxYzJk
ZDJhMTU4NDUyMGVmNzEyNjFmZTVhNjg5MGNkNi4uYTlhNDNhZDdiMTExNzI1NWU5MTk3YjNiNjFj
M2IxYTY0MzZiYzUyOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW96aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1dG9pbmNyZW1lbnQtaW5kZXhlcy5odG1sCkBAIC02Myw3
ICs2Myw3IEBAIGZ1bmN0aW9uIHNldHVwSW5kZXhlcygpCiAgICAga2V5ID0gZXZhbEFuZExvZygi
a2V5ID0gZXZlbnQudGFyZ2V0LnJlc3VsdDsiKTsKICAgICBzaG91bGRCZUZhbHNlKCJrZXkgPT0g
bnVsbCIpOwogCi0gICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRi
LnRyYW5zYWN0aW9uKCdmb28nKS5vYmplY3RTdG9yZSgnZm9vJyk7Iik7CisgICAgb2JqZWN0U3Rv
cmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLnRyYW5zYWN0aW9uKFsnZm9vJ10pLm9i
amVjdFN0b3JlKCdmb28nKTsiKTsKICAgICBmaXJzdCA9IGV2YWxBbmRMb2coImZpcnN0ID0gb2Jq
ZWN0U3RvcmUuaW5kZXgoJ2ZpcnN0Jyk7Iik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJl
cXVlc3QgPSBmaXJzdC5nZXQoJ2ZvbycpOyIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gY2hl
Y2tGaXJzdEluZGV4QW5kUHJlcGFyZVNlY29uZDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jbGVhci1leHBlY3RlZC50eHQKaW5kZXggYzI0YTg0
YTUwZjQ0Y2E4ZThkYjNkMjJjMTYwYzViNTBmYjFmZjRjNS4uY2VlNDgxNzYyZGMyM2VhNTMwYTRm
NGM1MzBmZTk4MzA2MzNkZmUzYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9jbGVhci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9jbGVhci1leHBlY3RlZC50eHQKQEAgLTE1LDExICsxNSwxMSBA
QCByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCiBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVz
Lgogb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnZm9vJywgeyBhdXRvSW5jcmVt
ZW50OiB0cnVlIH0pOwogcmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZCh7fSk7Ci1FeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oJ2ZvbycpLm9iamVjdFN0b3JlKCdmb28nKS5j
bGVhcigpOworRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKFsnZm9vJ10p
Lm9iamVjdFN0b3JlKCdmb28nKS5jbGVhcigpOwogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4K
IFBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUFEX09OTFlfRVJSCi1kYi50cmFu
c2FjdGlvbignZm9vJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkub2JqZWN0U3RvcmUoJ2Zv
bycpLmNsZWFyKCk7Ci1yZXF1ZXN0ID0gZGIudHJhbnNhY3Rpb24oJ2ZvbycpLm9iamVjdFN0b3Jl
KCdmb28nKS5vcGVuQ3Vyc29yKCk7CitkYi50cmFuc2FjdGlvbihbJ2ZvbyddLCBJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZSgnZm9vJykuY2xlYXIoKTsKK3JlcXVlc3QgPSBk
Yi50cmFuc2FjdGlvbihbJ2ZvbyddKS5vYmplY3RTdG9yZSgnZm9vJykub3BlbkN1cnNvcigpOwog
Y3Vyc29yID0gcmVxdWVzdC5yZXN1bHQ7CiBQQVNTIGN1cnNvciBpcyBudWxsCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9tb3ppbGxhL2NsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL2NsZWFyLmh0bWwKaW5kZXggMzhlODg1NTQ0NTA1OTdjZWEwYTZjODZmNWQ4MjE0
ZjgxN2IwZDA1YS4uZWZmNzVkYzQ5ODdhN2MwMDY3ZGVmN2YwNGZmOTQwZDhkNmQyNGM0OSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jbGVhci5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY2xlYXIuaHRtbApA
QCAtNTgsOSArNTgsOSBAQCBmdW5jdGlvbiBjbGVhbkRhdGFiYXNlKCkKIAogZnVuY3Rpb24gY2xl
YXIoKQogewotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKCdmb28n
KS5vYmplY3RTdG9yZSgnZm9vJykuY2xlYXIoKTsiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uUkVB
RF9PTkxZX0VSUiIpOwotICAgIGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKCdmb28nLCBJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZSgnZm9vJykuY2xlYXIoKTsiKTsKLSAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKCdmb28nKS5v
YmplY3RTdG9yZSgnZm9vJykub3BlbkN1cnNvcigpOyIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oImRiLnRyYW5zYWN0aW9uKFsnZm9vJ10pLm9iamVjdFN0b3JlKCdmb28nKS5jbGVhcigp
OyIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUFEX09OTFlfRVJSIik7CisgICAgZXZhbEFuZExv
ZygiZGIudHJhbnNhY3Rpb24oWydmb28nXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkub2Jq
ZWN0U3RvcmUoJ2ZvbycpLmNsZWFyKCk7Iik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJl
cXVlc3QgPSBkYi50cmFuc2FjdGlvbihbJ2ZvbyddKS5vYmplY3RTdG9yZSgnZm9vJykub3BlbkN1
cnNvcigpOyIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYXJlV2VDbGVhcllldDsKICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0aW9uLW9i
amVjdHN0b3JlLW9ubHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS1leHBlY3RlZC50eHQK
aW5kZXggNmI0ZThhY2M2ZWFlYjNmYWY0NzYzYjUzNzE2ZGQzYjEwZjc1NzQ3Zi4uZGZiNjFjZWZk
MjlhM2M1MmY3ZDVhODAxYzYxYWY4MTExNzc0ZWZkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25s
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxs
YS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS1leHBlY3RlZC50eHQKQEAgLTY5LDcg
KzY5LDcgQEAgUEFTUyBzYXdSZW1vdmVkIGlzIHRydWUKIGNvdW50ID0gMDsKIHNhd0FkZGVkID0g
ZmFsc2U7CiBzYXdSZW1vdmVkID0gZmFsc2U7Ci1yZXF1ZXN0ID0gZGIudHJhbnNhY3Rpb24oJ2Zv
bycsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpLm9iamVjdFN0b3JlKCdmb28nKS5vcGVuQ3Vy
c29yKCk7CityZXF1ZXN0ID0gZGIudHJhbnNhY3Rpb24oWydmb28nXSwgSURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkub2JqZWN0U3RvcmUoJ2ZvbycpLm9wZW5DdXJzb3IoKTsKIGl0ZXJhdGVNdXRh
dGluZ0N1cnNvcigpOgogZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBjaGVj
a011dGF0aW5nQ3Vyc29yUmVzdWx0czsKIGN1cnNvciA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2N1cnNvci1t
dXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tb3ppbGxhL2N1cnNvci1tdXRhdGlvbi1vYmplY3RzdG9yZS1vbmx5Lmh0bWwKaW5kZXgg
OWUzODMxYWUzMjA4YTZjMjFjZGFhMzI5NzhkOTFmNGM2ODQ4YjE0ZS4uZGM4ZWM4Y2Q3YWEyZjc2
ZjI0ZmQzYjFkMWVjYmQ4MGJmODJiNmU3OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvbW96aWxsYS9jdXJzb3ItbXV0YXRpb24tb2JqZWN0c3RvcmUtb25seS5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvY3Vyc29yLW11dGF0
aW9uLW9iamVjdHN0b3JlLW9ubHkuaHRtbApAQCAtMTA1LDcgKzEwNSw3IEBAIGZ1bmN0aW9uIGNo
ZWNrQ3Vyc29yUmVzdWx0c0FuZFNldHVwTXV0YXRpbmdDdXJzb3IoKQogICAgIHNhd0FkZGVkID0g
ZXZhbEFuZExvZygic2F3QWRkZWQgPSBmYWxzZTsiKTsKICAgICBzYXdSZW1vdmVkID0gZXZhbEFu
ZExvZygic2F3UmVtb3ZlZCA9IGZhbHNlOyIpOwogCi0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
InJlcXVlc3QgPSBkYi50cmFuc2FjdGlvbignZm9vJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkub2JqZWN0U3RvcmUoJ2ZvbycpLm9wZW5DdXJzb3IoKTsiKTsKKyAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygicmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKFsnZm9vJ10sIElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpLm9iamVjdFN0b3JlKCdmb28nKS5vcGVuQ3Vyc29yKCk7Iik7CiAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBpdGVyYXRlTXV0YXRpbmdDdXJzb3I7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEtZXhwZWN0ZWQu
dHh0CmluZGV4IDM5NWZkOTdlNjI0MjUyMjYwMjgyNzdiZTEyMTMwNGFiODZmYWU3MTUuLjYwYjI5
YTdiYzhlMDNlNGNjZTZlNWQyZWVlZDYwZDA4YWI1YzYzZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEtZXhw
ZWN0ZWQudHh0CkBAIC0xOSwxMCArMTksMTAgQEAgUEFTUyBkYjEub2JqZWN0U3RvcmVOYW1lcy5s
ZW5ndGggaXMgMQogUEFTUyBkYjEub2JqZWN0U3RvcmVOYW1lcy5pdGVtKDApIGlzIG9iamVjdFN0
b3JlTmFtZQogUEFTUyBkYjIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMQogUEFTUyBkYjIu
b2JqZWN0U3RvcmVOYW1lcy5pdGVtKDApIGlzIG9iamVjdFN0b3JlTmFtZQotb2JqZWN0U3RvcmUx
ID0gZGIxLnRyYW5zYWN0aW9uKG9iamVjdFN0b3JlTmFtZSkub2JqZWN0U3RvcmUob2JqZWN0U3Rv
cmVOYW1lKTsKK29iamVjdFN0b3JlMSA9IGRiMS50cmFuc2FjdGlvbihbb2JqZWN0U3RvcmVOYW1l
XSkub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsKIFBBU1Mgb2JqZWN0U3RvcmUxLm5hbWUg
aXMgb2JqZWN0U3RvcmVOYW1lCiBQQVNTIG9iamVjdFN0b3JlMS5rZXlQYXRoIGlzIG9iamVjdFN0
b3JlT3B0aW9ucy5rZXlQYXRoCi1vYmplY3RTdG9yZTIgPSBkYjIudHJhbnNhY3Rpb24ob2JqZWN0
U3RvcmVOYW1lKS5vYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOworb2JqZWN0U3RvcmUyID0g
ZGIyLnRyYW5zYWN0aW9uKFtvYmplY3RTdG9yZU5hbWVdKS5vYmplY3RTdG9yZShvYmplY3RTdG9y
ZU5hbWUpOwogUEFTUyBvYmplY3RTdG9yZTEgIT09IG9iamVjdFN0b3JlMiBpcyB0cnVlCiBQQVNT
IG9iamVjdFN0b3JlMi5uYW1lIGlzIG9iamVjdFN0b3JlTmFtZQogUEFTUyBvYmplY3RTdG9yZTIu
a2V5UGF0aCBpcyBvYmplY3RTdG9yZU9wdGlvbnMua2V5UGF0aApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9nbG9iYWwtZGF0YS5odG1sCmluZGV4IDlh
NmY1NGMyNzEyYmJkYWVjZGJjMjVlMzQ0ZjBhMDM4NDlhNGJmOTcuLmZkMjY5YjRiOTk0OGQ0NzRm
YjZjOTc2ZWI4NDUwZmViNzY1OTdjYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL21vemlsbGEvZ2xvYmFsLWRhdGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tb3ppbGxhL2dsb2JhbC1kYXRhLmh0bWwKQEAgLTY3LDExICs2NywxMSBA
QCBmdW5jdGlvbiBvcGVuMlN1Y2Nlc3MoKQogICAgIHNob3VsZEJlKCJkYjIub2JqZWN0U3RvcmVO
YW1lcy5sZW5ndGgiLCAiMSIpOwogICAgIHNob3VsZEJlKCJkYjIub2JqZWN0U3RvcmVOYW1lcy5p
dGVtKDApIiwgIm9iamVjdFN0b3JlTmFtZSIpOwogCi0gICAgb2JqZWN0U3RvcmUxID0gZXZhbEFu
ZExvZygib2JqZWN0U3RvcmUxID0gZGIxLnRyYW5zYWN0aW9uKG9iamVjdFN0b3JlTmFtZSkub2Jq
ZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsiKTsKKyAgICBvYmplY3RTdG9yZTEgPSBldmFsQW5k
TG9nKCJvYmplY3RTdG9yZTEgPSBkYjEudHJhbnNhY3Rpb24oW29iamVjdFN0b3JlTmFtZV0pLm9i
amVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7Iik7CiAgICAgc2hvdWxkQmUoIm9iamVjdFN0b3Jl
MS5uYW1lIiwgIm9iamVjdFN0b3JlTmFtZSIpOwogICAgIHNob3VsZEJlKCJvYmplY3RTdG9yZTEu
a2V5UGF0aCIsICJvYmplY3RTdG9yZU9wdGlvbnMua2V5UGF0aCIpOwogCi0gICAgb2JqZWN0U3Rv
cmUyID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUyID0gZGIyLnRyYW5zYWN0aW9uKG9iamVjdFN0
b3JlTmFtZSkub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsiKTsKKyAgICBvYmplY3RTdG9y
ZTIgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZTIgPSBkYjIudHJhbnNhY3Rpb24oW29iamVjdFN0
b3JlTmFtZV0pLm9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7Iik7CiAgICAgc2hvdWxkQmVU
cnVlKCJvYmplY3RTdG9yZTEgIT09IG9iamVjdFN0b3JlMiIpOwogICAgIHNob3VsZEJlKCJvYmpl
Y3RTdG9yZTIubmFtZSIsICJvYmplY3RTdG9yZU5hbWUiKTsKICAgICBzaG91bGRCZSgib2JqZWN0
U3RvcmUyLmtleVBhdGgiLCAib2JqZWN0U3RvcmVPcHRpb25zLmtleVBhdGgiKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMtZXhw
ZWN0ZWQudHh0CmluZGV4IDg0ODNmZjNiNmQwNTQ3ZDhkMzMxNWI0MzIwMDE3ZGMwNDA4NjlkMTEu
LjJkMzM5Y2QyZjY1MjU2NjQ2MWMzMjdkMTYwMDkxYTNmYzI5YjJjOTQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvaW5kZXhlcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9pbmRleGVzLWV4cGVj
dGVkLnR4dApAQCAtMzEsNyArMzEsNyBAQCBvYmplY3RTdG9yZS5jcmVhdGVJbmRleChpbmRleERh
dGFbaV0ubmFtZSwgaW5kZXhEYXRhW2ldLmtleVBhdGgsIGluZGV4RGF0YVtpXS5vcAogb2JqZWN0
U3RvcmUuY3JlYXRlSW5kZXgoaW5kZXhEYXRhW2ldLm5hbWUsIGluZGV4RGF0YVtpXS5rZXlQYXRo
LCBpbmRleERhdGFbaV0ub3B0aW9ucyk7CiBvYmplY3RTdG9yZS5jcmVhdGVJbmRleChpbmRleERh
dGFbaV0ubmFtZSwgaW5kZXhEYXRhW2ldLmtleVBhdGgsIGluZGV4RGF0YVtpXS5vcHRpb25zKTsK
IFBBU1Mgb2JqZWN0U3RvcmUuaW5kZXhOYW1lcy5sZW5ndGggaXMgaW5kZXhEYXRhLmxlbmd0aAot
b2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUpLm9iamVjdFN0b3Jl
KG9iamVjdFN0b3JlTmFtZSk7CitvYmplY3RTdG9yZSA9IGRiLnRyYW5zYWN0aW9uKFtvYmplY3RT
dG9yZU5hbWVdKS5vYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOwogUEFTUyBvYmplY3RTdG9y
ZS5pbmRleE5hbWVzLmxlbmd0aCBpcyBpbmRleERhdGEubGVuZ3RoCiBQQVNTIGZvdW5kIGlzIHRy
dWUKIGluZGV4ID0gb2JqZWN0U3RvcmUuaW5kZXgoaW5kZXhEYXRhW2ldLm5hbWUpOwpAQCAtMTU2
LDcgKzE1Niw3IEBAIFBBU1MgY3Vyc29yLnByaW1hcnlLZXkgaXMgb2JqZWN0U3RvcmVEYXRhV2Vp
Z2h0U29ydFtrZXlJbmRleF0ua2V5CiBrZXlJbmRleCsrOwogY3Vyc29yID0gZXZlbnQudGFyZ2V0
LnJlc3VsdDsKIFBBU1Mga2V5SW5kZXggaXMgb2JqZWN0U3RvcmVEYXRhLmxlbmd0aAotb2JqZWN0
U3RvcmUgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9yZU5hbWUpLm9iamVjdFN0b3JlKG9iamVj
dFN0b3JlTmFtZSk7CitvYmplY3RTdG9yZSA9IGRiLnRyYW5zYWN0aW9uKFtvYmplY3RTdG9yZU5h
bWVdKS5vYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOwoga2V5SW5kZXggPSBvYmplY3RTdG9y
ZURhdGFOYW1lU29ydC5sZW5ndGggLSAxOwogcmVxdWVzdCA9IG9iamVjdFN0b3JlLmluZGV4KCdu
YW1lJykub3BlbktleUN1cnNvcihudWxsLCBJREJDdXJzb3IuUFJFVik7CiBjdXJzb3IgPSBldmVu
dC50YXJnZXQucmVzdWx0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9pbmRleGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
b3ppbGxhL2luZGV4ZXMuaHRtbAppbmRleCA0YjRmZDQ3NThmMThjOWYxYzk5YTZjMGJmM2FjOTQ5
NzkwNDI2MzM5Li5mYWI3ZTkxNDg4ZDM0OWVhOTc2Y2UwOGE1NzFiYzMxNjMzM2E4MGE0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2luZGV4ZXMuaHRt
bApAQCAtMTIyLDcgKzEyMiw3IEBAIGZ1bmN0aW9uIGNyZWF0ZUluZGV4ZXMoKQogICAgIH0KICAg
ICBzaG91bGRCZSgib2JqZWN0U3RvcmUuaW5kZXhOYW1lcy5sZW5ndGgiLCAiaW5kZXhEYXRhLmxl
bmd0aCIpOwogCi0gICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRi
LnRyYW5zYWN0aW9uKG9iamVjdFN0b3JlTmFtZSkub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1l
KTsiKTsKKyAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIudHJh
bnNhY3Rpb24oW29iamVjdFN0b3JlTmFtZV0pLm9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7
Iik7CiAKICAgICAvLyBDaGVjayBnbG9iYWwgcHJvcGVydGllcyB0byBtYWtlIHN1cmUgdGhleSBh
cmUgY29ycmVjdC4KICAgICBzaG91bGRCZSgib2JqZWN0U3RvcmUuaW5kZXhOYW1lcy5sZW5ndGgi
LCAiaW5kZXhEYXRhLmxlbmd0aCIpOwpAQCAtMjE3LDExICsyMTcsMTEgQEAgZnVuY3Rpb24gdGVz
dEdyb3VwNCgpCiB7CiAvKiB0aGlzIHdhcyBzcGxpdCBvdXQgaW50byBhIHNlcGFyYXRlIHRlc3QK
ICAgICBkZWJ1ZygiQ2hlY2sgdGhhdCB0aGUgbmFtZSBpbmRleCBlbmZvcmNlcyBpdHMgdW5pcXVl
IGNvbnN0cmFpbnQuIik7Ci0gICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9y
ZSA9IGRiLnRyYW5zYWN0aW9uKG9iamVjdFN0b3JlTmFtZSwgSURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkub2JqZWN0U3RvcmUob2JqZWN0U3RvcmVOYW1lKTsiKTsKKyAgICBvYmplY3RTdG9yZSA9
IGV2YWxBbmRMb2coIm9iamVjdFN0b3JlID0gZGIudHJhbnNhY3Rpb24oW29iamVjdFN0b3JlTmFt
ZV0sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpLm9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFt
ZSk7Iik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigib2JqZWN0U3RvcmUuYWRkKHsgbmFt
ZTogJ0JvYicsIGhlaWdodDogNjIsIHdlaWdodDogMTcwIH0sICcyMzctMjMtNzczOCcpOyIsICJJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5DT05TVFJBSU5UX0VSUiIpOwogKi8KIAotICAgIG9iamVjdFN0
b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlvbihvYmplY3RTdG9y
ZU5hbWUpLm9iamVjdFN0b3JlKG9iamVjdFN0b3JlTmFtZSk7Iik7CisgICAgb2JqZWN0U3RvcmUg
PSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLnRyYW5zYWN0aW9uKFtvYmplY3RTdG9yZU5h
bWVdKS5vYmplY3RTdG9yZShvYmplY3RTdG9yZU5hbWUpOyIpOwogICAgIGtleUluZGV4ID0gZXZh
bEFuZExvZygia2V5SW5kZXggPSBvYmplY3RTdG9yZURhdGFOYW1lU29ydC5sZW5ndGggLSAxOyIp
OwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUuaW5kZXgo
J25hbWUnKS5vcGVuS2V5Q3Vyc29yKG51bGwsIElEQkN1cnNvci5QUkVWKTsiKTsKICAgICByZXF1
ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJlc3VsdC1vcmRlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL29kZC1yZXN1bHQt
b3JkZXItZXhwZWN0ZWQudHh0CmluZGV4IDliYzBmZDg1NDBkNTljOTFkMDE5NjNkNDFlNmVlNTEy
NWRkMzExNjguLjczNDNiMGQxOGU0ZDlhMGZlNTNiNWE4M2JlZmY3NDBiMTg2MjVjMGUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvb2RkLXJlc3VsdC1v
cmRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9vZGQtcmVzdWx0LW9yZGVyLWV4cGVjdGVkLnR4dApAQCAtMjQsNyArMjQsNyBAQCBvYmpl
Y3RTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdmb28nLCB7IGtleVBhdGg6ICdrZXknLCBh
dXRvSW5jcmVtZW50OiB0cnVlCiBpbmRleCA9IG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdmb28n
LCAnaW5kZXgnKTsKIGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gYWRkUmVj
b3JkOwogYWRkUmVjb3JkKCk6Ci1vYmplY3RTdG9yZSA9IGRiLnRyYW5zYWN0aW9uKCdmb28nLCBJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZSgnZm9vJyk7CitvYmplY3RTdG9y
ZSA9IGRiLnRyYW5zYWN0aW9uKFsnZm9vJ10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpLm9i
amVjdFN0b3JlKCdmb28nKTsKIGRhdGEgPSB7IGtleTogNSwgaW5kZXg6IDEwIH07CiByZXF1ZXN0
ID0gb2JqZWN0U3RvcmUuYWRkKGRhdGEpOwogYWRkU3VjY2VzcygpOgpAQCAtMzIsNyArMzIsNyBA
QCBrZXkgPSBudWxsOwoga2V5ID0gcmVxdWVzdC5yZXN1bHQ7CiBjaGVja0FkZGVkS2V5KCk6CiBQ
QVNTIGtleSBpcyBkYXRhLmtleQotb2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlvbignZm9vJyku
b2JqZWN0U3RvcmUoJ2ZvbycpOworb2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlvbihbJ2Zvbydd
KS5vYmplY3RTdG9yZSgnZm9vJyk7CiByZXF1ZXN0ID0gb2JqZWN0U3RvcmUuZ2V0KGRhdGEua2V5
KTsKIGdldFN1Y2Nlc3MoKToKIHJlY29yZCA9IG51bGw7CkBAIC00MSw3ICs0MSw3IEBAIGNoZWNr
UmV0cmlldmVkS2V5KCk6CiBQQVNTIHJlY29yZC5rZXkgaXMgZGF0YS5rZXkKIFBBU1MgcmVjb3Jk
LmluZGV4IGlzIGRhdGEuaW5kZXgKIGRlbGV0ZVJlY29yZCgpOgotb2JqZWN0U3RvcmUgPSBkYi50
cmFuc2FjdGlvbignZm9vJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkub2JqZWN0U3RvcmUo
J2ZvbycpOworb2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlvbihbJ2ZvbyddLCBJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZSgnZm9vJyk7CiByZXF1ZXN0ID0gb2JqZWN0U3Rv
cmUuZGVsZXRlKGRhdGEua2V5KTsKIGRlbGV0ZVN1Y2Nlc3MoKToKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L21vemlsbGEvb2RkLXJlc3VsdC1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWwKaW5kZXggYjIwNmIzYjZhNTc4Njhh
YTFjYTBiMTZmNGEzZGQ4NmMyZmYyNjk3ZS4uMjk4ZDk1NWMxOWVjYzYyZWIyYzk3NzUyNGIzNDNl
NzdmODA0M2IzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9vZGQtcmVzdWx0LW9yZGVyLmh0bWwKQEAgLTcxLDcgKzcxLDcgQEAgZnVu
Y3Rpb24gc2V0dXBPYmplY3RTdG9yZSgpCiBmdW5jdGlvbiBhZGRSZWNvcmQoKQogewogICAgIGRl
YnVnKCJhZGRSZWNvcmQoKToiKTsKLSAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9iamVj
dFN0b3JlID0gZGIudHJhbnNhY3Rpb24oJ2ZvbycsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Lm9iamVjdFN0b3JlKCdmb28nKTsiKTsKKyAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coIm9i
amVjdFN0b3JlID0gZGIudHJhbnNhY3Rpb24oWydmb28nXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkub2JqZWN0U3RvcmUoJ2ZvbycpOyIpOwogICAgIGRhdGEgPSBldmFsQW5kTG9nKCJkYXRh
ID0geyBrZXk6IDUsIGluZGV4OiAxMCB9OyIpOwogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJy
ZXF1ZXN0ID0gb2JqZWN0U3RvcmUuYWRkKGRhdGEpOyIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNz
ID0gYWRkU3VjY2VzczsKQEAgLTkyLDcgKzkyLDcgQEAgZnVuY3Rpb24gY2hlY2tBZGRlZEtleSgp
CiB7CiAgICAgZGVidWcoImNoZWNrQWRkZWRLZXkoKToiKTsKICAgICBzaG91bGRCZSgia2V5Iiwg
ImRhdGEua2V5Iik7Ci0gICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9
IGRiLnRyYW5zYWN0aW9uKCdmb28nKS5vYmplY3RTdG9yZSgnZm9vJyk7Iik7CisgICAgb2JqZWN0
U3RvcmUgPSBldmFsQW5kTG9nKCJvYmplY3RTdG9yZSA9IGRiLnRyYW5zYWN0aW9uKFsnZm9vJ10p
Lm9iamVjdFN0b3JlKCdmb28nKTsiKTsKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVz
dCA9IG9iamVjdFN0b3JlLmdldChkYXRhLmtleSk7Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBnZXRTdWNjZXNzOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwpAQCAtMTE5LDcgKzExOSw3IEBAIGZ1bmN0aW9uIGNoZWNrUmV0cmlldmVkS2V5KCkKIGZ1
bmN0aW9uIGRlbGV0ZVJlY29yZCgpCiB7CiAgICAgZGVidWcoImRlbGV0ZVJlY29yZCgpOiIpOwot
ICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi50cmFuc2FjdGlv
bignZm9vJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkub2JqZWN0U3RvcmUoJ2ZvbycpOyIp
OworICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBkYi50cmFuc2Fj
dGlvbihbJ2ZvbyddLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZSgnZm9v
Jyk7Iik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBvYmplY3RTdG9yZS5k
ZWxldGUoZGF0YS5rZXkpOyIpOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZGVsZXRlU3VjY2Vz
czsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJh
bnNhY3Rpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dAppbmRleCBiZGFiZGE3MjIy
MDBmYTQ1Y2YzNWExMjkxYmM4YmFmM2NmYTI1ODY4Li5iMjU4M2Y1NWI3NTFlZDA0NDMzZWJkNzI4
OGJiOTkxOTdkZWY1YThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9tb3ppbGxhL3JlYWRvbmx5LXRyYW5zYWN0aW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9yZWFkb25seS10cmFuc2FjdGlvbnMtZXhw
ZWN0ZWQudHh0CkBAIC0xNSwyNyArMTUsMTggQEAgb2JqZWN0U3RvcmUgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZShvc05hbWUsIHsgYXV0b0luY3JlbWVudDogdHJ1ZSB9KTsKIEV4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbb3NOYW1lXSkub2JqZWN0U3RvcmUob3NOYW1lKS5h
ZGQoe30pOwogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5SRUFEX09OTFlfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIu
dHJhbnNhY3Rpb24ob3NOYW1lKS5vYmplY3RTdG9yZShvc05hbWUpLmFkZCh7fSk7Ci1QQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgotUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLlJF
QURfT05MWV9FUlIKIGtleTEgPSAxOwoga2V5MiA9IDI7CiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gZGIudHJhbnNhY3Rpb24oW29zTmFtZV0pLm9iamVjdFN0b3JlKG9zTmFtZSkucHV0KHt9LCBr
ZXkxKTsKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJh
c2VFeGNlcHRpb24uUkVBRF9PTkxZX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRy
YW5zYWN0aW9uKG9zTmFtZSkub2JqZWN0U3RvcmUob3NOYW1lKS5wdXQoe30sIGtleTIpOwotUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KLVBBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlv
bi5SRUFEX09OTFlfRVJSCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24o
W29zTmFtZV0pLm9iamVjdFN0b3JlKG9zTmFtZSkucHV0KHt9LCBrZXkxKTsKLVBBU1MgRXhjZXB0
aW9uIHdhcyB0aHJvd24uCi1QQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uUkVBRF9P
TkxZX0VSUgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKG9zTmFtZSku
b2JqZWN0U3RvcmUob3NOYW1lKS5wdXQoe30sIGtleTEpOworRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIGRiLnRyYW5zYWN0aW9uKFtvc05hbWVdKS5vYmplY3RTdG9yZShvc05hbWUpLnB1dCh7fSwg
a2V5Mik7CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLlJFQURfT05MWV9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50
cmFuc2FjdGlvbihbb3NOYW1lXSkub2JqZWN0U3RvcmUob3NOYW1lKS5kZWxldGUoa2V5MSk7CiBQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLlJFQURfT05MWV9FUlIKLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlv
bihvc05hbWUpLm9iamVjdFN0b3JlKG9zTmFtZSkuZGVsZXRlKGtleTIpOworRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKFtvc05hbWVdKS5vYmplY3RTdG9yZShvc05hbWUp
LmRlbGV0ZShrZXkyKTsKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uUkVBRF9PTkxZX0VSUgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW96
aWxsYS9yZWFkb25seS10cmFuc2FjdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL21vemlsbGEvcmVhZG9ubHktdHJhbnNhY3Rpb25zLmh0bWwKaW5kZXggZTYxM2IxNTkx
NjAyMGMwMGRiZGU3YmI2ZjE1YTIyMmQ5MjdjZWM0Mi4uN2MyZGYzMmMwN2U1ODBjZTg0OWEzMTUz
MDA0Y2QxMGQ3Nzc4NWMwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvbW96aWxsYS9yZWFkb25seS10cmFuc2FjdGlvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWRvbmx5LXRyYW5zYWN0aW9ucy5odG1sCkBAIC01
MSwxNSArNTEsMTIgQEAgZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiAgICAgb3NOYW1lID0gInRl
c3Qgc3RvcmUiOwogICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygib2JqZWN0U3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZShvc05hbWUsIHsgYXV0b0luY3JlbWVudDogdHJ1ZSB9KTsiKTsK
ICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbihbb3NOYW1lXSkub2Jq
ZWN0U3RvcmUob3NOYW1lKS5hZGQoe30pOyIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUFEX09O
TFlfRVJSIik7Ci0gICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24ob3NO
YW1lKS5vYmplY3RTdG9yZShvc05hbWUpLmFkZCh7fSk7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9u
LlJFQURfT05MWV9FUlIiKTsKICAgICBrZXkxID0gZXZhbEFuZExvZygia2V5MSA9IDE7Iik7CiAg
ICAga2V5MiA9IGV2YWxBbmRMb2coImtleTIgPSAyOyIpOwogICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oImRiLnRyYW5zYWN0aW9uKFtvc05hbWVdKS5vYmplY3RTdG9yZShvc05hbWUpLnB1dCh7
fSwga2V5MSk7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlJFQURfT05MWV9FUlIiKTsKLSAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbihvc05hbWUpLm9iamVjdFN0b3Jl
KG9zTmFtZSkucHV0KHt9LCBrZXkyKTsiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uUkVBRF9PTkxZ
X0VSUiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKFtvc05h
bWVdKS5vYmplY3RTdG9yZShvc05hbWUpLnB1dCh7fSwga2V5MSk7IiwgIklEQkRhdGFiYXNlRXhj
ZXB0aW9uLlJFQURfT05MWV9FUlIiKTsKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50
cmFuc2FjdGlvbihvc05hbWUpLm9iamVjdFN0b3JlKG9zTmFtZSkucHV0KHt9LCBrZXkxKTsiLCAi
SURCRGF0YWJhc2VFeGNlcHRpb24uUkVBRF9PTkxZX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RF
eGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKFtvc05hbWVdKS5vYmplY3RTdG9yZShvc05hbWUpLnB1
dCh7fSwga2V5Mik7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlJFQURfT05MWV9FUlIiKTsKICAg
ICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbihbb3NOYW1lXSkub2JqZWN0
U3RvcmUob3NOYW1lKS5kZWxldGUoa2V5MSk7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLlJFQURf
T05MWV9FUlIiKTsKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbihv
c05hbWUpLm9iamVjdFN0b3JlKG9zTmFtZSkuZGVsZXRlKGtleTIpOyIsICJJREJEYXRhYmFzZUV4
Y2VwdGlvbi5SRUFEX09OTFlfRVJSIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIu
dHJhbnNhY3Rpb24oW29zTmFtZV0pLm9iamVjdFN0b3JlKG9zTmFtZSkuZGVsZXRlKGtleTIpOyIs
ICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUFEX09OTFlfRVJSIik7CiAgICAgZG9uZSgpOwogfQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWR3
cml0ZS10cmFuc2FjdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW96aWxsYS9yZWFkd3JpdGUtdHJhbnNhY3Rpb25zLWV4cGVjdGVkLnR4dAppbmRleCBm
ZDU5NWU2NDdkZDAyYmZkODZjNTBlMTM3MjYwNjZhZmJkMWI5NmRjLi45YTY1YzE5YWU1MmEzNDMz
ZmRjZGM3Y2EwZWNkMDZkOGJkMDhmNjE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9tb3ppbGxhL3JlYWR3cml0ZS10cmFuc2FjdGlvbnMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHdyaXRlLXRyYW5z
YWN0aW9ucy1leHBlY3RlZC50eHQKQEAgLTE3LDIwICsxNywyMCBAQCBvYmplY3RTdG9yZSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKG9zTmFtZSwgeyBhdXRvSW5jcmVtZW50OiB0cnVlIH0pOwogcmVx
dWVzdCA9IGRiLnRyYW5zYWN0aW9uKFtvc05hbWVdLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KS5vYmplY3RTdG9yZShvc05hbWUpLmFkZCh7fSk7CiBQQVNTIGV2ZW50LnRhcmdldC50cmFuc2Fj
dGlvbi5tb2RlIGlzIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUKIGtleTEgPSBldmVudC50YXJn
ZXQucmVzdWx0OwotcmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKG9zTmFtZSwgSURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkub2JqZWN0U3RvcmUob3NOYW1lKS5hZGQoe30pOworcmVxdWVzdCA9IGRi
LnRyYW5zYWN0aW9uKFtvc05hbWVdLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5vYmplY3RT
dG9yZShvc05hbWUpLmFkZCh7fSk7CiBQQVNTIGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbi5tb2Rl
IGlzIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUKIGtleTIgPSBldmVudC50YXJnZXQucmVzdWx0
OwogcmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKFtvc05hbWVdLCBJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKS5vYmplY3RTdG9yZShvc05hbWUpLnB1dCh7fSwga2V5MSk7CiBQQVNTIGV2ZW50LnRh
cmdldC50cmFuc2FjdGlvbi5tb2RlIGlzIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUKLXJlcXVl
c3QgPSBkYi50cmFuc2FjdGlvbihvc05hbWUsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpLm9i
amVjdFN0b3JlKG9zTmFtZSkucHV0KHt9LCBrZXkyKTsKK3JlcXVlc3QgPSBkYi50cmFuc2FjdGlv
bihbb3NOYW1lXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkub2JqZWN0U3RvcmUob3NOYW1l
KS5wdXQoe30sIGtleTIpOwogUEFTUyBldmVudC50YXJnZXQudHJhbnNhY3Rpb24ubW9kZSBpcyBJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFCiByZXF1ZXN0ID0gZGIudHJhbnNhY3Rpb24oW29zTmFt
ZV0sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpLm9iamVjdFN0b3JlKG9zTmFtZSkucHV0KHt9
LCBrZXkxKTsKIFBBU1MgZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm1vZGUgaXMgSURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURQotcmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKG9zTmFtZSwgSURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkub2JqZWN0U3RvcmUob3NOYW1lKS5wdXQoe30sIGtleTEpOwor
cmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKFtvc05hbWVdLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKS5vYmplY3RTdG9yZShvc05hbWUpLnB1dCh7fSwga2V5MSk7CiBQQVNTIGV2ZW50LnRhcmdl
dC50cmFuc2FjdGlvbi5tb2RlIGlzIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUKIHJlcXVlc3Qg
PSBkYi50cmFuc2FjdGlvbihbb3NOYW1lXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkub2Jq
ZWN0U3RvcmUob3NOYW1lKS5kZWxldGUoa2V5MSk7CiBQQVNTIGV2ZW50LnRhcmdldC50cmFuc2Fj
dGlvbi5tb2RlIGlzIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUKLXJlcXVlc3QgPSBkYi50cmFu
c2FjdGlvbihvc05hbWUsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpLm9iamVjdFN0b3JlKG9z
TmFtZSkuZGVsZXRlKGtleTIpOworcmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKFtvc05hbWVdLCBJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZShvc05hbWUpLmRlbGV0ZShrZXky
KTsKIFBBU1MgZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm1vZGUgaXMgSURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL3JlYWR3cml0ZS10cmFuc2Fj
dGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHdy
aXRlLXRyYW5zYWN0aW9ucy5odG1sCmluZGV4IGZjODVmMDFhOWJjOTFkYWMzMDM2ZjE4YmZmMmIx
NzhjNTU5ZDg2MWEuLmI3MTk3ZGMwODg5OTYyZDEyYTZkOTM5Mjk4MGFmNmIwMmYzN2Q1YWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvcmVhZHdyaXRl
LXRyYW5zYWN0aW9ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21v
emlsbGEvcmVhZHdyaXRlLXRyYW5zYWN0aW9ucy5odG1sCkBAIC02MSw3ICs2MSw3IEBAIGZ1bmN0
aW9uIHBvc3RBZGQoKQogewogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQudHJhbnNhY3Rpb24u
bW9kZSIsICJJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFIik7CiAgICAga2V5MSA9IGV2YWxBbmRM
b2coImtleTEgPSBldmVudC50YXJnZXQucmVzdWx0OyIpOwotICAgIHJlcXVlc3QgPSBldmFsQW5k
TG9nKCJyZXF1ZXN0ID0gZGIudHJhbnNhY3Rpb24ob3NOYW1lLCBJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKS5vYmplY3RTdG9yZShvc05hbWUpLmFkZCh7fSk7Iik7CisgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBkYi50cmFuc2FjdGlvbihbb3NOYW1lXSwgSURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkub2JqZWN0U3RvcmUob3NOYW1lKS5hZGQoe30pOyIpOwogICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gcG9zdEFkZDI7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CiB9CkBAIC03OCw3ICs3OCw3IEBAIGZ1bmN0aW9uIHBvc3RBZGQyKCkK
IGZ1bmN0aW9uIHBvc3RQdXQoKQogewogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQudHJhbnNh
Y3Rpb24ubW9kZSIsICJJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFIik7Ci0gICAgcmVxdWVzdCA9
IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi50cmFuc2FjdGlvbihvc05hbWUsIElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpLm9iamVjdFN0b3JlKG9zTmFtZSkucHV0KHt9LCBrZXkyKTsiKTsKKyAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKFtvc05hbWVd
LCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZShvc05hbWUpLnB1dCh7fSwg
a2V5Mik7Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBwb3N0UHV0MjsKICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KQEAgLTk0LDcgKzk0LDcgQEAg
ZnVuY3Rpb24gcG9zdFB1dDIoKQogZnVuY3Rpb24gcG9zdFB1dDMoKQogewogICAgIHNob3VsZEJl
KCJldmVudC50YXJnZXQudHJhbnNhY3Rpb24ubW9kZSIsICJJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFIik7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi50cmFuc2FjdGlv
bihvc05hbWUsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpLm9iamVjdFN0b3JlKG9zTmFtZSku
cHV0KHt9LCBrZXkxKTsiKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRi
LnRyYW5zYWN0aW9uKFtvc05hbWVdLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKS5vYmplY3RT
dG9yZShvc05hbWUpLnB1dCh7fSwga2V5MSk7Iik7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBw
b3N0UHV0NDsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
IH0KQEAgLTExMCw3ICsxMTAsNyBAQCBmdW5jdGlvbiBwb3N0UHV0NCgpCiBmdW5jdGlvbiBwb3N0
RGVsZXRlKCkKIHsKICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uLm1vZGUi
LCAiSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSIpOwotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9n
KCJyZXF1ZXN0ID0gZGIudHJhbnNhY3Rpb24ob3NOYW1lLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKS5vYmplY3RTdG9yZShvc05hbWUpLmRlbGV0ZShrZXkyKTsiKTsKKyAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnRyYW5zYWN0aW9uKFtvc05hbWVdLCBJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKS5vYmplY3RTdG9yZShvc05hbWUpLmRlbGV0ZShrZXkyKTsiKTsKICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHBvc3REZWxldGUyOwogICAgIHJlcXVlc3Qub25lcnJvciA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1leHBlY3RlZC50eHQKaW5kZXggMjcw
YjI0ZmU3NDZlNmFjMDdlOWU2Yjk5YjMxMTY0MmRjZWY4MjE2MC4uMmI4OWI2MWFhZmQ2ZmM0Nzkx
MmM3MzE4NzUxZDIxY2IwMGUyNzdiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0xNiw3ICsx
Niw3IEBAIG9iamVjdFN0b3JlLmFkZCgyLCAyKS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2sKIG9iamVjdFN0b3JlLmFkZCgzLCAzKS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2sKIG9iamVjdFN0b3JlLmFkZCg0LCA0KS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2sKIG9wZW5Gb3J3YXJkQ3Vyc29yKCkKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsn
c3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZScpCiBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKCkKIGZvcndhcmRDdXJzb3IoKQpA
QCAtNDksNyArNDksNyBAQCBmb3J3YXJkQ3Vyc29yKCkKIFBBU1MgY3Vyc29yU3RlcHMgaXMgNQog
Zm9yd2FyZEN1cnNvckNvbXBsZXRlKCkKIG9wZW5SZXZlcnNlQ3Vyc29yKCkKLXRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkKIHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpCiBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKG51
bGwsIHdlYmtpdElEQkN1cnNvci5QUkVWKQogcmV2ZXJzZUN1cnNvcigpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCmluZGV4IDU4MDhk
Yjc3NTE5YzIxOTQ1ODk0ZDUzN2Y5ZWU4NzZmNDc1YjI2NzcuLmNmMTkxYmI0ZDcwNjc0MGYxMDc2
MzkyNzhjZWFlZWNmNzQ2NmNkM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sCkBAIC01Miw3ICs1Miw3IEBAIGZ1bmN0aW9uIHNl
dFZlcnNpb25TdWNjZXNzKCkKIGZ1bmN0aW9uIG9wZW5Gb3J3YXJkQ3Vyc29yKCkKIHsKICAgICBk
ZWJ1Zygib3BlbkZvcndhcmRDdXJzb3IoKSIpOwotICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAg
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29tcGxldGUgPSBmb3J3YXJkQ3Vyc29yQ29tcGxl
dGU7CiAKQEAgLTk3LDcgKzk3LDcgQEAgZnVuY3Rpb24gZm9yd2FyZEN1cnNvckNvbXBsZXRlKCkK
IGZ1bmN0aW9uIG9wZW5SZXZlcnNlQ3Vyc29yKCkKIHsKICAgICBkZWJ1Zygib3BlblJldmVyc2VD
dXJzb3IoKSIpOwotICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgZXZhbEFuZExvZygidHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAg
IHRyYW5zLm9uY29tcGxldGUgPSByZXZlcnNlQ3Vyc29yQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YXV0b2luY3JlbWVudC1leHBlY3RlZC50eHQKaW5kZXggODdlNDc3YmVlOGNjOTdlODdkNDcyYzUx
NzJlNzA1NTAwZDZhOWFjNC4uNDhiMTFiYjBiOTAzYmE4Njc1MzFjNjZhNjljNmU5NWIzZjA1MmI1
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YXV0b2luY3JlbWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC1leHBlY3RlZC50eHQKQEAgLTIzLDcgKzIz
LDcgQEAgUEFTUyBzdG9yZU5hbWVzLmNvbnRhaW5zKCdTdG9yZVdpdGhBdXRvSW5jcmVtZW50Jykg
aXMgdHJ1ZQogUEFTUyBzdG9yZU5hbWVzLmNvbnRhaW5zKCdQbGFpbk9sZFN0b3JlJykgaXMgdHJ1
ZQogUEFTUyBzdG9yZU5hbWVzLmxlbmd0aCBpcyAzCiBzZXRWZXJzaW9uQ29tcGxldGVkKCk6Ci10
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ1N0b3JlV2l0aEtleVBhdGgnLCAnU3RvcmVXaXRo
QXV0b0luY3JlbWVudCcsICdQbGFpbk9sZFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdTdG9yZVdpdGhLZXlQYXRoJykK
IEluc2VydCBpbnRvIG9iamVjdCBzdG9yZSB3aXRoIGF1dG8gaW5jcmVtZW50IGFuZCBrZXkgcGF0
aCwgd2l0aCBrZXkgaW4gdGhlIG9iamVjdC4KIHN0b3JlLmFkZCh7bmFtZTogJ0plZmZlcnNzb24n
LCBudW1iZXI6ICc3MDEwJywgaWQ6IDN9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sCmluZGV4IDA5
NDVjODQxOGI5MDY5Y2VkOTRiZTEwNjcxOGNiOGZkYTA5ZWUzNTcuLmNmM2U1NjhiMzM4MTFhY2E3
NDg1Mzk1ODg4N2E4NWRkNjMwMjVkOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwKQEAgLTYx
LDcgKzYxLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvbkNvbXBsZXRlZCgpCiB7CiAgICAgZGVidWco
InNldFZlcnNpb25Db21wbGV0ZWQoKToiKTsKIAotICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUpIik7CisgICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFu
c2FjdGlvbihbJ1N0b3JlV2l0aEtleVBhdGgnLCAnU3RvcmVXaXRoQXV0b0luY3JlbWVudCcsICdQ
bGFpbk9sZFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAg
dHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29t
cGxldGUgPSBkb25lOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAppbmRleCBiNzVlZDMzZTEx
ZTVlNGE1NDRjZTk2ODYyMmVlNTkwOGNmOWI2N2RlLi45MTUwZGVlNDI0NTJmZDM3ZGU5Y2MzNmEz
YjY2N2Y5ZDNhODgzZWYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKQEAgLTQ5LDcgKzQ5
LDcgQEAgUEFTUyBzdG9yZS5pbmRleE5hbWVzWzFdIGlzIG51bGwKIFBBU1Mgc3RvcmUuaW5kZXhO
YW1lc1sxMDBdIGlzIG51bGwKIFBBU1Mgc3RvcmUuaW5kZXhOYW1lcy5pdGVtKDEpIGlzIG51bGwK
IFBBU1Mgc3RvcmUuaW5kZXhOYW1lcy5pdGVtKDEwMCkgaXMgbnVsbAotdHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCiBUcnkgdG8gaW5zZXJ0IGRhdGEgd2l0aCBhIERhdGUga2V5Ogogc3RvcmUuYWRkKHt4OiAn
Zm9vJ30sIHRlc3REYXRlKQpAQCAtNjUsMTkgKzY1LDE5IEBAIGV2ZW50LnRhcmdldC5zb3VyY2Uu
YWRkKHt4OiAnZm9vJ30sICd6enonKQogYWRkQWdhaW5GYWlsdXJlKCk6CiBQQVNTIGV2ZW50LnRh
cmdldC5lcnJvckNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQ09OU1RSQUlOVF9F
UlIKIGV2ZW50LnByZXZlbnREZWZhdWx0KCkKLWRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlTmFtZScpCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuYWRkKHt4
OiAnb3RoZXJ2YWx1ZSd9LCBudWxsKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1Mg
Y29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgotZGIudHJhbnNhY3Rp
b24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitkYi50cmFuc2FjdGlvbihb
J3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLmFkZCh7eDogbnVsbH0s
ICd2YWxpZGtleScpCiBQQVNTIGV2ZW50LmNhbmNlbGFibGUgaXMgdHJ1ZQogYWRkV2l0aE51bGxJ
bmRleEZhaWx1cmUoKToKIFBBU1MgZXZlbnQudGFyZ2V0LmVycm9yQ29kZSBpcyB3ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogZXZlbnQucHJldmVudERlZmF1bHQoKQotZGIudHJh
bnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogc3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLmdldCgna2V5
JykKIGdldFN1Y2Nlc3MoKToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKaW5kZXggNjQxZDZlOWVmOWIzNjhjM2ZkNmNmMTI4
MjczYjczNTg2YzhmY2NhNy4uZjQ3MWVjZmRhOTU1OGM1YzBiNmQ2NjA5ZWZkOTk4ZjZkZjc2Zjhk
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtYmFzaWNzLmh0bWwKQEAgLTEzNCw3ICsxMzQsNyBAQCB2YXIgdGVzdERhdGVCID0gbmV3IERh
dGUoIldlZCBKYW4gMDUgMjAxMSAxNTo1NDo0OSIpOwogCiBmdW5jdGlvbiBhZGREYXRhKCkKIHsK
LSAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5z
YWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHZhciB0
cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFu
c2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgd2luZG93LnN0
b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVO
YW1lJykiKTsKIApAQCAtMTgwLDEzICsxODAsMTMgQEAgZnVuY3Rpb24gYWRkQWdhaW5GYWlsdXJl
KCkKIAogICAgIGV2YWxBbmRMb2coImV2ZW50LnByZXZlbnREZWZhdWx0KCkiKTsKIAotICAgIHRy
YW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50
cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
ICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKSIpOwogCiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUu
YWRkKHt4OiAnb3RoZXJ2YWx1ZSd9LCBudWxsKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5EQVRBX0VSUiIpOwogCi0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2Fj
dGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFuc2Fj
dGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAKQEAgLTIwMyw3ICsy
MDMsNyBAQCBmdW5jdGlvbiBhZGRXaXRoTnVsbEluZGV4RmFpbHVyZSgpCiAKICAgICBldmFsQW5k
TG9nKCJldmVudC5wcmV2ZW50RGVmYXVsdCgpIik7CiAKLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxB
bmRMb2coImRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KSIpOworICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oWydzdG9y
ZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFuc2Fj
dGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIHN0b3JlID0g
ZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJyki
KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtY2xlYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtY2xlYXItZXhwZWN0ZWQudHh0CmluZGV4IDI4NzVmZDZiMjk5ZDdkNTQ3MjQyOGRh
MjhlOTNiOWZkMTkwZTM1OTkuLjMxYjZmOTE5YjZiYzZjMTIzN2U2YzVmODExOWNjYzhmYmJjOWY3
NDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3Jl
LWNsZWFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1jbGVhci1leHBlY3RlZC50eHQKQEAgLTIzLDcgKzIzLDcgQEAgaW5kZXggPSBz
dG9yZS5pbmRleCgnaW5kZXhOYW1lJykKIGluZGV4Lm9wZW5LZXlDdXJzb3IoKQogb3BlbktleUN1
cnNvclN1Y2Nlc3MoKToKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBudWxsCi1kYi50cmFu
c2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pCitkYi50cmFu
c2FjdGlvbihbJ290aGVyU3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpCiBvdGhlclN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ290aGVyU3RvcmVOYW1l
JykKIG90aGVyU3RvcmUuZ2V0KCdrZXknKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzICJ2
YWx1ZSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWNsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1jbGVhci5odG1sCmluZGV4IGYxODg0OGI0NGQ5YTU0MzI4OGJiOTg1MGU1ZGRjMDQzZDMyZGQ4
M2UuLjc2ZmY0NzRlNGY2NjUxY2RhMWZjMDhiOWEyNTQ0ZDcxOTQxNTUxMTYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIuaHRtbApA
QCAtODcsNyArODcsNyBAQCBmdW5jdGlvbiBvcGVuS2V5Q3Vyc29yU3VjY2VzcygpCiAgICAgZGVi
dWcoIm9wZW5LZXlDdXJzb3JTdWNjZXNzKCk6Iik7CiAgICAgc2hvdWxkQmVOdWxsKCJldmVudC50
YXJnZXQucmVzdWx0Iik7CiAKLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5z
YWN0aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsKKyAgICB0
cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFsnb3RoZXJTdG9yZU5hbWUn
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFuc2FjdGlvbi5v
bmFib3J0ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIG90aGVyU3RvcmUgPSBl
dmFsQW5kTG9nKCJvdGhlclN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ290aGVyU3Rv
cmVOYW1lJykiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQu
dHh0CmluZGV4IDc3ZWQwMWZjZjg0MDQ2NjgzNTYwYTg1NzFjYjNiNjUyYzU3YWI1NWEuLmFiNjli
NDc0NTc0MjQxY2ViYzA2MGNlZTQ5YmM1MjRjOTViNWUyNjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1y
ZW1vdmVvYmplY3RzdG9yZS1leHBlY3RlZC50eHQKQEAgLTEzLDcgKzEzLDcgQEAgc3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmNyZWF0ZUluZGV4
KCdpbmRleE5hbWUnLCAnJykKIFBBU1Mgc3RvcmUuaW5kZXhOYW1lcy5jb250YWlucygnaW5kZXhO
YW1lJykgaXMgdHJ1ZQogc3RvcmUuYWRkKCd2YWx1ZScsICdrZXknKQotZGIudHJhbnNhY3Rpb24o
e21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEV9KQorZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHN0b3JlID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5nZXQoJ2tleScpCiBQ
QVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgInZhbHVlIgpAQCAtMjIsNyArMjIsNyBAQCB0cmFu
cyA9IGV2ZW50LnRhcmdldC5yZXN1bHQKIFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQogZGIu
ZGVsZXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJywgbnVsbCkKLWRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFfSkKK2RiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQogc3RvcmUuZ2V0KCdrZXknKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlz
IHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKaW5kZXggZjQ0YjI3ZWM0
MTUxYmY4YjVjZmExM2ZmNTI4NDMyMmIyNTg3MzJjMC4uYmQxNzI5NjQ4MTNlYTZmM2E1ZWM4NTg4
ZmQwMGQ4ZDUzNTE3YTU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCkBAIC00
OSw3ICs0OSw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIAogZnVuY3Rpb24gZ2V0VmFs
dWUoKQogewotICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oe21v
ZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEV9KSIpOworICAgIHRyYW5zYWN0aW9u
ID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIApAQCAtODUsNyArODUsNyBA
QCBmdW5jdGlvbiBjcmVhdGVPYmplY3RTdG9yZUFnYWluKCkKIAogZnVuY3Rpb24gZ2V0VmFsdWVB
Z2FpbigpCiB7Ci0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbih7
bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pIik7CisgICAgdHJhbnNhY3Rp
b24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQt
cHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGY3MWY3ODFkNzE4NGUzYzg5ZGQyYTI4OWI2
ZDYwOWI0NjE2MDg3YjIuLmY4YzZkZjdlZjMzMWNjMGFmMjEzNDVjNGYwYjE1MTkzMDViNzU2MDAg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQt
cHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CkBAIC0xNCw3ICsxNCw3
IEBAIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnLCBudWxsKQogc3RvcmUuYWRkKHt4OiAndmFsdWUnLCB5OiAnenp6J30s
ICdrZXknKQogVmVyaWZ5IHRoYXQgaGFuZGxlciBmaXJlcyBhbmQgdGhhdCBub3QgcHJldmVudGlu
ZyBkZWZhdWx0IHdpbGwgcmVzdWx0IGluIGFuIGFib3J0Ci10cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJh
bnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZAogdHJhbnMub25jb21wbGV0ZSA9IHVuZXhw
ZWN0ZWRDb21wbGV0ZUNhbGxiYWNrCiB0cmFucy5vbmVycm9yID0gYWxsb3dEZWZhdWx0CkBAIC0y
NSw3ICsyNSw3IEBAIERvaW5nIG5vdGhpbmcgdG8gcHJldmVudCB0aGUgZGVmYXVsdCBhY3Rpb24u
Li4KIFBBU1MgaGFuZGxlckZpcmVkIGlzIHRydWUKIAogVmVyaWZpbmcgZXJyb3IKLXRyYW5zID0g
ZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkMgogdHJhbnMub25j
b21wbGV0ZSA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrCiB0cmFucy5hZGRFdmVudExpc3RlbmVy
KCdlcnJvcicsIGVycm9yQ2FwdHVyZUNhbGxiYWNrLCB0cnVlKQpAQCAtOTIsNyArOTIsNyBAQCBQ
QVNTIGJ1YmJsZUZpcmVkIGlzIHRydWUKIFBBU1MgZGJCdWJibGVGaXJlZCBpcyB0cnVlCiAKIFZl
cmlmaW5nIHN1Y2Nlc3MuCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFu
c2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSdd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25jb21wbGV0ZSA9IHRy
YW5zYWN0aW9uQ29tcGxldGUKIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFj
awogdHJhbnMuYWRkRXZlbnRMaXN0ZW5lcignc3VjY2VzcycsIHN1Y2Nlc3NDYXB0dXJlQ2FsbGJh
Y2ssIHRydWUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1
ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKaW5kZXggM2IxZGEzYmU5MzVkNTc5NjVh
YzBiZWMyNmY5OGM1ZTVhYjY2YmFkZS4uZDdmYmVlMmYyYjU2OTFmZDY1NzgwNjY2YjUxYzIyNTQx
ZTRiMzQzZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVz
dC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbApAQCAtNDgsNyArNDgsNyBAQCBmdW5j
dGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewogICAgIGRlYnVn
KCJWZXJpZnkgdGhhdCBoYW5kbGVyIGZpcmVzIGFuZCB0aGF0IG5vdCBwcmV2ZW50aW5nIGRlZmF1
bHQgd2lsbCByZXN1bHQgaW4gYW4gYWJvcnQiKTsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Iik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3Rv
cmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFu
ZExvZygidHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZCIpOwogICAgIGV2YWxBbmRM
b2coInRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjayIpOwogICAg
IGV2YWxBbmRMb2coInRyYW5zLm9uZXJyb3IgPSBhbGxvd0RlZmF1bHQiKTsKQEAgLTcwLDcgKzcw
LDcgQEAgZnVuY3Rpb24gdHJhbnNhY3Rpb25BYm9ydGVkKCkKICAgICBzaG91bGRCZVRydWUoImhh
bmRsZXJGaXJlZCIpOwogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVmVyaWZpbmcgZXJyb3Ii
KTsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9n
KCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25hYm9ydCA9IHRyYW5z
YWN0aW9uQWJvcnRlZDIiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdW5l
eHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5hZGRFdmVudExp
c3RlbmVyKCdlcnJvcicsIGVycm9yQ2FwdHVyZUNhbGxiYWNrLCB0cnVlKSIpOwpAQCAtMTczLDcg
KzE3Myw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZDIoKQogICAgIHNob3VsZEJlVHJ1
ZSgiZGJCdWJibGVGaXJlZCIpOwogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiVmVyaWZpbmcg
c3VjY2Vzcy4iKTsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21w
bGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGUiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFi
b3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5h
ZGRFdmVudExpc3RlbmVyKCdzdWNjZXNzJywgc3VjY2Vzc0NhcHR1cmVDYWxsYmFjaywgdHJ1ZSki
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFib3J0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dAppbmRleCBjM2JjYjcwNjlhNzAzZjAzYzc5MGQxZWU5
MWI0N2ExOGU3NmJkOTcyLi5iMjA4OWUwOTM5MjEyN2IwYTQzODViODczMDQ1YmRhNWIxYmQ0MjQx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1h
Ym9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC0xMyw3ICsxMyw3IEBAIHRyYW5zLm9uY29t
cGxldGUgPSBzdGFydFRlc3QKIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBzdG9yZSA9IGRi
LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKQogc3RvcmUuYWRkKHt4OiAndmFs
dWUnLCB5OiAnenp6J30sICdrZXknKQotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9y
ZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQg
PSB0cmFuc2FjdGlvbkFib3J0ZWQKIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxl
dGVDYWxsYmFjawogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdp
dGgtanMtcmVjdXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uLWV4cGVjdGVkLnR4dAppbmRl
eCA5YTIxNmU5NGFhM2QwMjEyMzE0ZjU2YjQ5NDUzYWUzODM5ZWE1ZTA5Li43YTFmZmFmNzMzNGIy
ZDUxMWEwN2E4NjQwNzJhZDVkNzBlNzEzNWRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJv
cnQtd2l0aC1qcy1yZWN1cnNpb24tZXhwZWN0ZWQudHh0CkBAIC04LDkgKzgsOSBAQCBQQVNTIHdl
YmtpdEluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiB3ZWJraXRJbmRleGVkREIub3BlbigndHJh
bnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24nKQogZGIgPSBldmVudC50YXJnZXQucmVz
dWx0CiBkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpCi1wZW5kaW5nVHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3BlbmRp
bmdUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnb2JqZWN0U3RvcmUnXSwgd2Via2l0SURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIFN0YXJ0IHJlLWVudHJhbnQgSlMKLXRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnb2JqZWN0U3RvcmUnXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkKIEVuZCByZS1lbnRyYW50IEpTCiBzdG9yZSA9IHBlbmRpbmdU
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnKQogUEFTUyBzdG9yZSAhPT0gdW5k
ZWZpbmVkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1s
CmluZGV4IGQwY2RlMDNjYzJmNWQ4N2E3OTM4ZTdkYmEyZGEwZDU2Y2U1YzQwZTcuLjg4NDAyMmI4
ZGIxNjI4MzVkNDdjYTczNmM1YmUwMDJjOTI2YmFkNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQt
d2l0aC1qcy1yZWN1cnNpb24uaHRtbApAQCAtMzYsOCArMzYsOSBAQCBmdW5jdGlvbiBzZXRWZXJz
aW9uKCkgewogfQ0KIA0KIGZ1bmN0aW9uIGNsaWNrKCkgew0KKyAgICBzdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdvYmplY3RTdG9yZScsIG51bGwpOyAgICANCiAgICAgYm9keS5vbmNsaWNr
ID0gdGVzdDsNCi0gICAgdmFyIHBlbmRpbmdUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInBlbmRp
bmdUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKSIpOw0KKyAgICB2YXIgcGVuZGluZ1RyYW5zYWN0aW9uID0gZXZhbEFuZExvZygi
cGVuZGluZ1RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBwZW5kaW5nVHJhbnNhY3Rpb24u
b25zdWNjZXNzID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogICAgIHBlbmRpbmdUcmFuc2Fj
dGlvbi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogICAgIHBlbmRpbmdUcmFu
c2FjdGlvbi5vbmFib3J0ID0gYWJvcnRDYWxsYmFjazsNCkBAIC01Miw4ICs1Myw3IEBAIGZ1bmN0
aW9uIGNsaWNrKCkgewogZnVuY3Rpb24gdGVzdCgpDQogew0KICAgICBkZWJ1ZygiU3RhcnQgcmUt
ZW50cmFudCBKUyIpOw0KLSAgICBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdvYmplY3RT
dG9yZScsIG51bGwpOw0KLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7
DQorICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbJ29iamVjdFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7
DQogICAgIGRlYnVnKCJFbmQgcmUtZW50cmFudCBKUyIpOw0KIH0NCiANCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAppbmRleCA2
YmQwYzAwZDM4NGY1ZDQ5YTRjNTNiOWY1ZjBjNmVlZGZiZmIyZDU0Li4xZDI4MDI3MGI4NzY1N2Iy
YzhhNWM3ZDhjOWJiZThiNzQ4ZDg3NjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVu
Y3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewotICAgIHRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0g
ZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9y
dGVkIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21w
bGV0ZUNhbGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQu
dHh0CmluZGV4IDZiZTU3OTU2YWI4Nzk3ZDJjNTU1ZDU1YTllY2NhNDQwOTA3Y2MzMGQuLjIzOGUx
NTkxZmQ5NzllZmZlM2Y2ZGFkYTQ1ZGZlNGFlYWRlNDI5YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1j
bG9zZS1leHBlY3RlZC50eHQKQEAgLTE0LDE3ICsxNCwxNyBAQCBzdG9yZSA9IGRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdzdG9yZScpCiByZXF1ZXN0ID0gc3RvcmUucHV0KCd4JywgJ3knKQogUEFTUyBQ
dXQgc3VjY2VzcwogcnVubmluZyBmaXJzdCB0cmFuc2FjdGlvbgotY3VycmVudFRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitj
dXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpCiBvYmplY3RTdG9yZS5wdXQoJ2EnLCAnYicpCiBkYi5jbG9z
ZSgpCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJh
bnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIKIAogdmVyaWZ5IHRoYXQgd2UgY2FuIHJlb3BlbiB0aGUg
ZGIgYWZ0ZXIgY2FsbGluZyBjbG9zZQogd2Via2l0SW5kZXhlZERCLm9wZW4oJ3RyYW5zYWN0aW9u
LWFmdGVyLWNsb3NlJykKIHNlY29uZF9kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWN1cnJlbnRU
cmFuc2FjdGlvbiA9IHNlY29uZF9kYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKK2N1cnJlbnRUcmFuc2FjdGlvbiA9IHNlY29uZF9kYi50cmFuc2FjdGlv
bihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiByZXF1ZXN0ID0g
c3RvcmUucHV0KCcxJywgJzInKQogUEFTUyBmaW5hbCBwdXQgc3VjY2VzcwogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwKaW5kZXggMTNhZWU2MDhkYjU4
MWU5MjRkZjhiZjE3ZmMxZjhjMWE3OTkzNWM2MS4uMjAzNTliMTE2MmI3ZmNhZjkxMDY1MDcwZTYz
ZmU2MmQ5MmViMmIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sCkBAIC01Myw3ICs1Myw3IEBAIGZ1
bmN0aW9uIG9uUHV0U3VjY2VzcygpCiBmdW5jdGlvbiBydW5GaXJzdFJlZ3VsYXJUcmFuc2FjdGlv
bigpDQogew0KICAgICBkZWJ1ZygicnVubmluZyBmaXJzdCB0cmFuc2FjdGlvbiIpDQotICAgIGN1
cnJlbnRUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRy
YW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KKyAgICBj
dXJyZW50VHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7
DQogICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJh
Y2s7DQogICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZmlyc3RUcmFuc2FjdGlv
bkNvbXBsZXRlOw0KICAgICBvYmplY3RTdG9yZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmUnKTsNCkBAIC02NCw3ICs2NCw3IEBAIGZ1bmN0aW9uIHJ1bkZpcnN0UmVndWxh
clRyYW5zYWN0aW9uKCkKIGZ1bmN0aW9uIGZpcnN0VHJhbnNhY3Rpb25Db21wbGV0ZSgpDQogew0K
ICAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7DQotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRp
b24oImRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIs
ICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIiKTsNCisgICAgZXZh
bEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1Rf
QUxMT1dFRF9FUlIiKTsNCiANCiAgICAgZGVidWcoIiIpDQogICAgIGRlYnVnKCJ2ZXJpZnkgdGhh
dCB3ZSBjYW4gcmVvcGVuIHRoZSBkYiBhZnRlciBjYWxsaW5nIGNsb3NlIikNCkBAIC03NSw3ICs3
NSw3IEBAIGZ1bmN0aW9uIGZpcnN0VHJhbnNhY3Rpb25Db21wbGV0ZSgpCiANCiBmdW5jdGlvbiBv
blNlY29uZE9wZW4oKSB7DQogICAgIHNlY29uZF9kYiA9IGV2YWxBbmRMb2coInNlY29uZF9kYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCi0gICAgY3VycmVudFRyYW5zYWN0aW9uID0gZXZhbEFu
ZExvZygiY3VycmVudFRyYW5zYWN0aW9uID0gc2Vjb25kX2RiLnRyYW5zYWN0aW9uKFtdLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KKyAgICBjdXJyZW50VHJhbnNhY3Rpb24g
PSBldmFsQW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBzZWNvbmRfZGIudHJhbnNhY3Rpb24o
WydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBzdG9y
ZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsNCiAgICAgcmVxdWVz
dCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdG9yZS5wdXQoJzEnLCAnMicpIik7DQogICAgIHJl
cXVlc3Qub25zdWNjZXNzID0gb25GaW5hbFB1dFN1Y2Nlc3M7DQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFuZC1vYmplY3RzdG9yZS1jYWxscy1leHBlY3RlZC50eHQKaW5kZXggMzEzYzFhMTI1YWJhMTVk
ODcyMTA4NzBjODQzZjVkMDA0M2U3MDkyZC4uY2U3OWExM2MzNjIzMTgzNjA1NTQ2MGFlMjUzY2Jh
MjAwMDU4NDY1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMt
ZXhwZWN0ZWQudHh0CkBAIC01NSwxMyArNTUsMTggQEAgRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IHRyYW5zLm9iamVjdFN0b3JlKCd4JykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNT
IGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgogCi10cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdKQotdHJhbnMub2JqZWN0U3RvcmUoJ2EnKQotdHJhbnMub2Jq
ZWN0U3RvcmUoJ2InKQotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHRyYW5zLm9iamVjdFN0b3Jl
KCd4JykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbXSkKIFBBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCi1QQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNl
cHRpb24uTk9UX0ZPVU5EX0VSUgotCitQQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURf
QUNDRVNTX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKCdzdG9y
ZScpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlv
bi5JTlZBTElEX0FDQ0VTU19FUlIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2Fj
dGlvbih7fSkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgRE9NRXhj
ZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRy
YW5zYWN0aW9uKHttb2RlOjB9KQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29k
ZSBpcyBET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSCiBQQVNTIHRyYW5zID0gZGIudHJh
bnNhY3Rpb24oKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KIAogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKFsneCddKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9i
amVjdHN0b3JlLWNhbGxzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFu
c2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMuaHRtbAppbmRleCAwOTM1ZWY5NzE0OThiNTNl
MzY2Y2ZiMzFjNGQxM2I1ODlkY2YwNmUwLi42MDIyNTViY2I4ZTRjMWU0YTkzZmJiNjBmMzNjNDRl
MjY0M2I3OWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFu
c2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMuaHRtbApAQCAt
NzUsMTEgKzc1LDExIEBAIGZ1bmN0aW9uIGNyZWF0ZWQoKQogICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oInRyYW5zLm9iamVjdFN0b3JlKCd4JykiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uTk9UX0ZPVU5EX0VSUiIpOwogICAgIGRlYnVnKCIiKTsKIAotICAgIHRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSkiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFu
cy5vYmplY3RTdG9yZSgnYScpIik7Ci0gICAgZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUo
J2InKSIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInRyYW5zLm9iamVjdFN0b3JlKCd4
JykiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOwotICAgIGRl
YnVnKCIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbihbXSki
LCAiRE9NRXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUiIpOworCisgICAgZXZhbEFuZEV4cGVj
dEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykiLCAiRE9NRXhjZXB0aW9uLklOVkFM
SURfQUNDRVNTX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0
aW9uKHt9KSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSIik7CisgICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oe21vZGU6MH0pIiwgIkRPTUV4Y2VwdGlv
bi5JTlZBTElEX0FDQ0VTU19FUlIiKTsKIAogICAgIHNob3VsZFRocm93KCJ0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKCkiKTsKICAgICBkZWJ1ZygiIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dApp
bmRleCA1MjdjNTUzYThiZDRjYjhkOGFhNTkxOTIzZWU2YjIwYzkyN2I2YWJhLi4xODMzZDRlOGI3
YjIyODRhNmI2NGE2ZmI2ZTFiYjc5NTdjZTdiOTk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50
eHQKQEAgLTYzLDcgKzYzLDcgQEAgdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0CiBQQVNTIHRy
YW5zICE9PSBudWxsIGlzIHRydWUKIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBkYi5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKLWRiLnRyYW5zYWN0aW9uKHttb2RlOiB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkKK2RiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBzdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogUEFTUyBzdG9yZS5uYW1lIGlzICJzdG9yZU5h
bWUiCiBQQVNTIGNvbXBsZXRlIGV2ZW50IGZpcmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCmluZGV4IDBlNDlkYTEwMzNj
NGUzZDE5NzE5NGZhMGE5NGM5NWQ1MDc3OWNmYzcuLjc0ZGI2NjQ3YzdhMzg3N2I4OGFjOTIzODc2
ZjRmZDhjOThhMjkxMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCkBAIC0yMDYsNyArMjA2LDcgQEAgZnVuY3Rpb24g
c2V0VmVyc2lvblN1Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7DQogDQog
ICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIp
Ow0KLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKHttb2RlOiB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsNCisgICAgdHJhbnNhY3Rpb24gPSBl
dmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gYWJvcnRDYWxs
YmFjazsNCiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsNCiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJz
dG9yZS5uYW1lIiwgInN0b3JlTmFtZSIpOw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4
cGVjdGVkLnR4dAppbmRleCBmNjBlYWEyZTNhYjdhOGI2M2EyMmI4NDM1NzYwZTBkOGQxY2JiYWQ0
Li42YTc0YTllNDU5OGZjZGU5MTk4Yzc0MzYyODc2ZGNmNzBlMDI0OGFiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC04LDcgKzgsOCBAQCBQQVNTIHdlYmtp
dEluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiB3ZWJraXRJbmRleGVkREIub3BlbigndHJhbnNh
Y3Rpb24tY3Jhc2gtb24tYWJvcnQnKQogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFyZ2V0
LnJlc3VsdAotZGIudHJhbnNhY3Rpb24oJ2ZvbycpCitkYi50cmFuc2FjdGlvbihbJ2ZvbyddKQor
RkFJTCBkYi50cmFuc2FjdGlvbihbJ2ZvbyddKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IE5PVF9G
T1VORF9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gMwogd2luZG93LmdjKCkKIFBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwKaW5k
ZXggNzVkMTIyYjFjMWMyZWFmMmE5ZjMwNjY5NzZiODMyOGYwZmU0YzVjOS4uOTNmODk4MTM5ZTc3
ZTExOThiNDhlMzQ3MTE1MDM4NTIwODU0N2FiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1s
CkBAIC0yOCw3ICsyOCw3IEBAIGZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKIHsKICAgICBkZWJ1Zygi
b3BlblN1Y2Nlc3MoKToiKTsKICAgICBkYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0
LnJlc3VsdCIpOwotICAgIGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKCdmb28nKSIpOworICAg
IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFsnZm9vJ10pIik7CiAgICAgZXZhbEFuZExvZygi
d2luZG93LmdjKCkiKTsKICAgICBkb25lKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9w
YWdhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNWY4NWM4MWQwYTYwNzIxYmQ2N2EzMmUyYjJkMzM3
YmVhNzc2ZGRjYy4uZDQyMDYxYTBkYzZlN2FjNWQ3NDQ5ZmU0MGRkNWUyOTdhZGI2NTQ0NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQt
cHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTMsNyAr
MTMsNyBAQCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6
eid9LCAna2V5JykKIFZlcmlmaW5nIGFib3J0Ci10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihb
J3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25h
Ym9ydCA9IGFib3J0RmlyZWRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrCiBkYi5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRiQWJvcnRDYXB0dXJl
Q2FsbGJhY2ssIHRydWUpCkBAIC00NSw3ICs0NSw3IEBAIFBBU1MgZXZlbnQudGFyZ2V0IGlzIHRy
YW5zCiBQQVNTIGV2ZW50LmN1cnJlbnRUYXJnZXQgaXMgZGIKIAogVmVyaWZpbmcgc3VjY2Vzcy4K
LXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmNvbXBsZXRlID0gY29tcGxldGVGaXJlZENhbGxi
YWNrCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sKIGRiLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ2Fib3J0JywgZGJBYm9ydENhcHR1cmVDYWxsYmFjaywgdHJ1ZSkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXBy
b3BhZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCmluZGV4IDE1YzI3NWM1MDlhMjZmMWEwMTU1OTUzZTIy
YTViZDA4YTZkYjM3MjAuLjk0MWFjNTJlM2ZkMzI3ZGJmNDY1MjU0ODIwNGE5ZTk5NzgxNjNkNmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2
ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbApAQCAtNDcsNyArNDcsNyBAQCBmdW5j
dGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewogICAgIGRlYnVn
KCJWZXJpZmluZyBhYm9ydCIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFu
cy5vbmFib3J0ID0gYWJvcnRGaXJlZENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMu
b25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygi
ZGIuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBkYkFib3J0Q2FwdHVyZUNhbGxiYWNrLCB0cnVl
KSIpOwpAQCAtOTcsNyArOTcsNyBAQCBmdW5jdGlvbiBkYkFib3J0QnViYmxlQ2FsbGJhY2soKQog
ICAgIGRiQnViYmxlRmlyZWQxID0gdHJ1ZTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlZl
cmlmaW5nIHN1Y2Nlc3MuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5z
Lm9uY29tcGxldGUgPSBjb21wbGV0ZUZpcmVkQ2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0
cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9n
KCJkYi5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRiQWJvcnRDYXB0dXJlQ2FsbGJhY2ss
IHRydWUpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFu
c2FjdGlvbi1yZWFkLW9ubHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tcmVhZC1vbmx5LWV4cGVjdGVkLnR4dAppbmRleCAyMGYxMjlmNjI2
NmQ5MzRmMGJjMTJjNzUwMzZkZmI2OTgyZjIyYjc2Li5hZjM2MTdlN2NmZTRmNGMwOWVlZjUxMWNh
NTkzZGZhYTg1YmFjMjVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1yZWFkLW9ubHktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS1leHBlY3RlZC50eHQKQEAgLTEy
LDE1ICsxMiwxNSBAQCByZXN1bHQgPSBkYi5zZXRWZXJzaW9uKCd2ZXJzaW9uIDEnKQogRGVsZXRl
ZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3Jl
JykKIHN0b3JlLnB1dCgneCcsICd5JykKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykK
K3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddKQogRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpLnB1dCgnYScsICdiJykKIFBBU1MgRXhjZXB0
aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
UkVBRF9PTkxZX0VSUgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnKQordHJhbnMgPSBk
Yi50cmFuc2FjdGlvbihbJ3N0b3JlJ10pCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gdHJhbnMu
b2JqZWN0U3RvcmUoJ3N0b3JlJykuZGVsZXRlKCd4JykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJv
d24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uUkVBRF9PTkxZX0VS
UgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnKQordHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbJ3N0b3JlJ10pCiBjdXIgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKS5vcGVuQ3Vyc29y
KCkKIFBBU1MgIWV2ZW50LnRhcmdldC5yZXN1bHQgaXMgZmFsc2UKIEV4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBldmVudC50YXJnZXQucmVzdWx0LmRlbGV0ZSgpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1yZWFkLW9ubHkuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCmluZGV4
IGEyNjY4NmMzZGNjMzc1MDEzMDg5NDk4ZGFhMDk0OTczZDExYmNjYTMuLjNiYjdkOGI3MzBhN2Rh
NWExNjM2YjNhMWQzMTI3N2YxMDY1OGNmMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS5odG1sCkBAIC00NSwxMyAr
NDUsMTMgQEAgZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiANCiBmdW5jdGlvbiBzZXRWZXJzaW9u
RG9uZSgpDQogew0KLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlJykiKTsNCisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5z
YWN0aW9uKFsnc3RvcmUnXSkiKTsNCiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigidHJhbnMu
b2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KCdhJywgJ2InKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5SRUFEX09OTFlfRVJSIik7DQogDQotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJh
bnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnKSIpOw0KKyAgICB0cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddKSIpOw0KICAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJ0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKS5kZWxldGUoJ3gnKSIsICJ3ZWJr
aXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUFEX09OTFlfRVJSIik7DQogDQotICAgIHRyYW5zID0g
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnKSIpOw0KKyAgICB0cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddKSIpOw0KICAg
ICBjdXIgPSBldmFsQW5kTG9nKCJjdXIgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKS5vcGVu
Q3Vyc29yKCkiKTsNCiAgICAgY3VyLm9uc3VjY2VzcyA9IGdvdEN1cnNvcjsNCiAgICAgY3VyLm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsNCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHV0b3JpYWwuaHRtbAppbmRleCA4YjI4OTg3MmM4YjE1NGVmYTkzZDdmMjAzMjY1
M2RiZWY4YzUzZGE3Li4xNGJiMDA5MTdhNjRmYjNhMjMyYzY1ODk1YWVkYmYzN2QzOThlODdmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwKQEAgLTIxMCwx
NiArMjEwLDE0IEBAIGZ1bmN0aW9uIG9uU2V0VmVyc2lvbkNvbXBsZXRlKCkKICAgICAvLyBUcmFu
c2FjdGlvbnMgKGJlc2lkZXMgdGhvc2UgY3JlYXRlZCB3aXRoIHNldFZlcnNpb24pIGFyZSBjcmVh
dGVkIHN5bmNocm9ub3VzbHkuIExpa2UKICAgICAvLyBjcmVhdGVPYmplY3RTdG9yZSwgdHJhbnNh
Y3Rpb24gb3B0aW9uYWxseSB0YWtlcyBpbiB2YXJpb3VzIG9wdGlvbmFsIHBhcmFtZXRlcnMuCiAg
ICAgLy8KLSAgICAvLyBGaXJzdCBvZiBhbGwgaXMgdGhlIHBhcmFtZXRlciAib2JqZWN0U3RvcmVO
YW1lcyIuIElmIHlvdSBwYXNzIGluIGEgc3RyaW5nLCB3ZSBsb2NrIGp1c3QgdGhhdAotICAgIC8v
IG9iamVjdFN0b3JlLiAgSWYgeW91IHBhc3MgaW4gYW4gYXJyYXksIHdlIGxvY2sgdGhvc2UuIE90
aGVyd2lzZSAoZm9yIGV4YW1wbGUsIGlmIHlvdSBvbWl0IGl0Ci0gICAgLy8gb3IgcGFzcyBpbiBu
dWxsL3VuZGVmaW5lZCkgd2UgbG9jayB0aGUgd2hvbGUgZGF0YWJhc2UuIEJ5IHNwZWNpZnlpbmcg
bG9ja3Mgb3ZlciBmZXdlcgotICAgIC8vIG9iamVjdFN0b3JlcyB5b3UgbWFrZSBpdCBwb3NzaWJs
ZSBmb3IgYnJvd3NlcnMgdG8gcnVuIHRyYW5zYWN0aW9ucyBjb25jdXJyZW50bHkuIFRoYXQgc2Fp
ZCwKLSAgICAvLyBDaHJvbWl1bS9XZWJLaXQgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIHlldC4KKyAg
ICAvLyBGaXJzdCBvZiBhbGwgaXMgdGhlIHBhcmFtZXRlciAib2JqZWN0U3RvcmVOYW1lcyIsIHdo
aWNoIG11c3QgYmUgYW4gYXJyYXkgb2YgbmFtZXMgb2YgdGhlIAorICAgIC8vIG9iamVjdCBzdG9y
ZXMgdGhhdCB3aWxsIGJlIHVzZWQgYnkgdGhlIHRyYW5zYWN0aW9uLiBUcmFuc2FjdGlvbnMgdGhh
dCB1c2UgZGlmZmVyZW50IG9iamVjdAorICAgIC8vIHN0b3JlcyBtYXkgYmUgYWJsZSB0byBydW4g
aW4gY29uY3VycmVudGx5LCBmb3IgaGlnaGVyIHBlcmZvcm1hbmNlLgogICAgIC8vCiAgICAgLy8g
TmV4dCBpcyAibW9kZSIgd2hpY2ggc3BlY2lmaWVzIHRoZSBsb2NraW5nIG1vZGUuIFRoZSBkZWZh
dWx0IGlzIFJFQURfT05MWSAoaS5lLiBhIHNoYXJlZCBsb2NrKS4KICAgICAvLyBUaGF0J3MgZmlu
ZSBmb3IgdGhpcyBjYXNlLCBidXQgbGF0ZXIgd2UnbGwgYXNrIGZvciBJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFLiBBdCB0aGUgbW9tZW50LAogICAgIC8vIENocm9taXVtL1dlYktpdCBwcmV0ZW5k
cyBldmVyeSB0cmFuc2FjdGlvbiBpcyBSRUFEX1dSSVRFLCB3aGljaCBpcyBraW5kIG9mIGJhZC4K
LSAgICB3aW5kb3cuY3VycmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpOworICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbihbInBlb3BsZSJdLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKTsKICAg
ICBjdXJyZW50VHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZTsKICAg
ICBjdXJyZW50VHJhbnNhY3Rpb24ub25hYm9ydCA9IG9uVHJhbnNhY3Rpb25BYm9ydGVkOwogCkBA
IC0yNjksNyArMjY3LDcgQEAgZnVuY3Rpb24gb25UcmFuc2FjdGlvbkFib3J0ZWQoKQogICAgIC8v
IE5vdyBsZXQncyBtYWtlIGEgcmVhbCB0cmFuc2FjdGlvbiBhbmQgYSBwZXJzb24gdG8gb3VyIG9i
amVjdFN0b3JlLiBKdXN0IHRvIHNob3cgaXQncyBwb3NzaWJsZSwKICAgICAvLyB3ZSdsbCBvbWl0
IHRoZSBvYmplY3RTdG9yZU5hbWVzIHBhcmFtZXRlciB3aGljaCBtZWFucyB3ZSdsbCBsb2NrIGV2
ZXJ5dGhpbmcgZXZlbiB0aG91Z2ggd2Ugb25seQogICAgIC8vIGV2ZXIgYWNjZXNzICJwZW9wbGUi
LgotICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgSURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSk7CisgICAgd2luZG93LmN1cnJlbnRUcmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKFsicGVvcGxlIl0sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpOwog
ICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0OwogCiAgICAg
dmFyIHBlb3BsZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgicGVvcGxlIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggOTgxM2EwNjVlZDQwYWRiNjU0NDY0MTQ2MTcyNDhiZWNhMDlkYjk2YS4uOTgz
Yzk4NGQxZTg4N2VjYWUyZmY0OTZmNWFjMTVkZjgzNTJiNTdkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE5IEBACisyMDExLTEwLTE3ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgSW5kZXhlZERCOiBQYXNzaW5nIGVtcHR5IGFycmF5IHRvIElEQkRhdGFiYXNl
LnRyYW5zYWN0aW9uIHNob3VsZCByYWlzZSBleGNlcHRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRzIGEgcmVjZW50bHkgYWdy
ZWVkIHVwb24gc3BlYyBjaGFuZ2U6IElEQkRhdGFiYXNlLnRyYW5zYWN0aW9uKCkgc2hvdWxkCisg
ICAgICAgIG5vdCBhbGxvdyBhbiBlbXB0eSBhcnJheSBhcyBhIHNob3J0Y3V0IGZvciBpbmNsdWRp
bmcgYWxsIG9iamVjdCBzdG9yZXMgaW4gc2NvcGUuCisgICAgICAgIFRoZSBjaGFuZ2UgaXRzZWxm
IGlzIHNpbXBsZSBidXQgdGhlIGxheW91dHRlc3QgY2hhbmdlcyBhcmUgc3Vic3RhbnRpYWwuCisK
KyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QkRhdGFiYXNlOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlv
bkJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2Vu
ZEltcGw6Om9iamVjdFN0b3JlKToKKwogMjAxMS0xMC0xNCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgQXR0ZW1wdGVkIExlb3BhcmQgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcAppbmRleCA3Yzk5ZDk3OWFjOGYzOTZiN2Y3ZThi
MWY5M2IyYzY4OGVjZDY0YzI2Li4wMWNiMzMwNDU1NzRjY2E5MGE4ODljOTZkZjRhYmVlYjkzZmI0
MjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcApAQCAtMjcsNiArMjcs
NyBAQAogI2luY2x1ZGUgIklEQkRhdGFiYXNlLmgiCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgor
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJFdmVudFF1ZXVlLmgiCiAjaW5j
bHVkZSAiSURCQW55LmgiCiAjaW5jbHVkZSAiSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsLmgiCkBA
IC0xMjQsOCArMTI1LDEwIEBAIFBhc3NSZWZQdHI8SURCVmVyc2lvbkNoYW5nZVJlcXVlc3Q+IElE
QkRhdGFiYXNlOjpzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRlCiBQYXNzUmVmUHRyPElE
QlRyYW5zYWN0aW9uPiBJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBwcnBTdG9yZU5hbWVzLCB1
bnNpZ25lZCBzaG9ydCBtb2RlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBSZWZQdHI8RE9N
U3RyaW5nTGlzdD4gc3RvcmVOYW1lcyA9IHBycFN0b3JlTmFtZXM7Ci0gICAgaWYgKCFzdG9yZU5h
bWVzKQotICAgICAgICBzdG9yZU5hbWVzID0gRE9NU3RyaW5nTGlzdDo6Y3JlYXRlKCk7CisgICAg
aWYgKCFzdG9yZU5hbWVzIHx8IHN0b3JlTmFtZXMtPmlzRW1wdHkoKSkgeworICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgaWYg
KG1vZGUgIT0gSURCVHJhbnNhY3Rpb246OlJFQURfV1JJVEUgJiYgbW9kZSAhPSBJREJUcmFuc2Fj
dGlvbjo6UkVBRF9PTkxZKSB7CiAgICAgICAgIC8vIEZJWE1FOiBNYXkgbmVlZCB0byBjaGFuZ2Ug
d2hlbiBzcGVjY2VkOiBodHRwOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/
aWQ9MTE0MDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rp
b25CYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9u
QmFja2VuZEltcGwuY3BwCmluZGV4IDAxNWRhMThkNjlhODI4YzU1NzE3OWEwZmMxYWYwYzEyOTMz
NjJiZWYuLjhhMTIyNjRhYzc2MDkzYTEyMWI5ZGRiYzMxODNmYjA5MTYxOGUwYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNw
cApAQCAtNTIsNiArNTIsNyBAQCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbXBsKERPTVN0cmluZ0xpc3QqIG9iamVjdFN0b3JlcwogICAgICwgbV9wZW5k
aW5nRXZlbnRzKDApCiB7CiAgICAgQVNTRVJUKG1fb2JqZWN0U3RvcmVOYW1lcyk7CisgICAgQVNT
RVJUKG1fbW9kZSA9PSBJREJUcmFuc2FjdGlvbjo6VkVSU0lPTl9DSEFOR0UgfHwgIW1fb2JqZWN0
U3RvcmVOYW1lcy0+aXNFbXB0eSgpKTsKICAgICBtX2RhdGFiYXNlLT50cmFuc2FjdGlvbkNvb3Jk
aW5hdG9yKCktPmRpZENyZWF0ZVRyYW5zYWN0aW9uKHRoaXMpOwogfQogCkBAIC02OSw3ICs3MCw3
IEBAIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbXBsOjpvYmplY3RTdG9yCiAgICAgfQogCiAgICAgLy8gRG9lcyBhIGxpbmVh
ciBzZWFyY2gsIGJ1dCBpdCByZWFsbHkgc2hvdWxkbid0IGJlIHRoYXQgc2xvdyBpbiBwcmFjdGlj
ZS4KLSAgICBpZiAoIW1fb2JqZWN0U3RvcmVOYW1lcy0+aXNFbXB0eSgpICYmICFtX29iamVjdFN0
b3JlTmFtZXMtPmNvbnRhaW5zKG5hbWUpKSB7CisgICAgaWYgKG1fbW9kZSAhPSBJREJUcmFuc2Fj
dGlvbjo6VkVSU0lPTl9DSEFOR0UgJiYgIW1fb2JqZWN0U3RvcmVOYW1lcy0+Y29udGFpbnMobmFt
ZSkpIHsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0ZPVU5EX0VSUjsK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111502</attachid>
            <date>2011-10-18 14:32:24 -0700</date>
            <delta_ts>2011-10-20 12:17:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70251-20111018143223.patch</filename>
            <type>text/plain</type>
            <size>68546</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0ODgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2OWE1YWIwYzcxODE4ZTExMmE3NDNh
ZTY1M2U2Y2UzOTIwMTI4MThkLi40YjhiOTg4ZjIxZWFiZDdmYzgzMWFmYmI4ZDk1Zjk3YzU3ZmNl
MzliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNjEgQEAKKzIwMTEtMTAtMTggIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFBhc3NpbmcgZW1wdHkgYXJy
YXkgdG8gSURCRGF0YWJhc2UudHJhbnNhY3Rpb24gc2hvdWxkIHJhaXNlIGV4Y2VwdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW55IHRlc3RzIHJl
bGllZCBvbiB0aGUgbm9uLXNwZWNpZmllZCBiZWhhdmlvciBvZiBwYXNzaW5nIGFuIGVtcHR5IGFy
cmF5CisgICAgICAgIGludG8gSURCRGF0YWJhc2UudHJhbnNhY3Rpb24oKSB0byBpbmNsdWRlIGFs
bCBvYmplY3Qgc3RvcmVzIGluIHNjb3Blcy4KKyAgICAgICAgV29yc2UsIG5vbi1hcnJheXMgd291
bGQgYmUgdHJlYXRlZCBhcyBlbXB0eSBhcnJheXMsIGFuZCBoZW5jZSAianVzdCB3b3JrZWQiLgor
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0
b3JlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5k
LXJlbW92ZS1vYmplY3Qtc3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9j
cmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sOgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9y
dHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1p
bi1ldmVudC1hYm9ydHMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11
bmlxdWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVu
aXF1ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29y
Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3Jl
bWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtYXV0b2luY3JlbWVudC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtY2xlYXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L29iamVjdHN0b3JlLWNsZWFyLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi1leHBlY3RlZC50
eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlv
bi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9y
dC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24uaHRtbDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1j
YWxscy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQt
cHJvcGFnYXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5o
dG1sOgorCiAyMDExLTEwLTE0ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVcGRhdGUgZXhwZWN0YXRpb25zIGFmdGVyIHI5NzQ4
MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQt
cmVtb3ZlLW9iamVjdC1zdG9yZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUtZXhwZWN0ZWQudHh0CmluZGV4
IDUyOGJhODllOTVhZjA3ZThjOGY0OGQ2MzhhZjRjMjQ4ODUxOGY2MDQuLjgzZTJkYmQzOTdmNmNh
YWUzMWJiYTlmZGY0NmI5MDEyNGU0YmEzYmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2Jq
ZWN0LXN0b3JlLWV4cGVjdGVkLnR4dApAQCAtMjgsNyArMjgsNyBAQCBkYi5jcmVhdGVPYmplY3RT
dG9yZSgndG1wJykKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgndG1wJykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb24uQ09OU1RSQUlOVF9FUlIKLXRyYW5zID0gZGIudHJhbnNhY3Rp
b24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEV9KQordHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbJ3RtcCddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJh
bnMub2JqZWN0U3RvcmUoJ3RtcCcpLmdldCgwKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlz
IHVuZGVmaW5lZC4KIFRyeWluZyBjcmVhdGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0
bWwKaW5kZXggNDNjMWZlMWYxYTlhMmMxZDdkZGExOGExZjM5OTUyMGU3MWU4YzgxYS4uMzYwYzM2
ZjRjMjE3MWM2ZjY4Y2VmMzdlMDcxNmZmZjc3MWY0MzUyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2Jq
ZWN0LXN0b3JlLmh0bWwKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgp
CiAgICAgb3MgPSBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykiKTsKICAg
ICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykiLCAi
d2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQ09OU1RSQUlOVF9FUlIiKTsKIAotICAgIHRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURX0pIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKFsndG1wJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Iik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInRyYW5zLm9iamVjdFN0b3JlKCd0bXAnKS5n
ZXQoMCkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHRyeU9uY2VNb3JlOwogICAgIHJlcXVl
c3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qtc3Rv
cmUtb3B0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggNWYwZTk0ZGZiNjAyZGY0YTcyZWEyM2M1MWU2
NmExNjQwZjUwYWYwNy4uMTY1Yzg5ZmY4NjRmN2QzY2E5NGJmNjliOTY3MGE5MTVlZmQ1NWI4MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1z
dG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0xMiw3ICsx
Miw3IEBAIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgn
YScsIHtrZXlQYXRoOiAnYSd9KQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2InKQogZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ2MnLCB7YXV0b0luY3JlbWVudDogdHJ1ZX0pOwotdHJhbnMgPSBkYi50cmFu
c2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIu
dHJhbnNhY3Rpb24oWydhJywgJ2InXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkK
IFBBU1MgdHJhbnMubW9kZSBpcyB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFCiB0cmFu
cy5vYmplY3RTdG9yZSgnYScpLnB1dCh7J2EnOiAwfSkKIHRyYW5zLm9iamVjdFN0b3JlKCdiJyku
cHV0KHsnYSc6IDB9LCAwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMuaHRtbAppbmRleCBiZjYwMGQ3
YTllZTNjMDhjMTRjZDE0ZGJkYWVmMWMzOTJjMTg5ZDVmLi5iOWJlY2YzOTM5NzY4MTNiNmZiZjM4
NzQ0OWVjY2Y4ZDM4NTMxNDVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMuaHRtbApAQCAtNDMs
NyArNDMsNyBAQCBmdW5jdGlvbiBjbGVhbkRhdGFiYXNlKCkKICAgICBkZWJ1ZygiZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ2MnLCB7YXV0b0luY3JlbWVudDogdHJ1ZX0pOyIpOwogICAgIGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdjJywge2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKIAotICAgIHRyYW5zID0g
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJh
bnNhY3Rpb24oWydhJywgJ2InXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsK
ICAgICBzaG91bGRCZSgidHJhbnMubW9kZSIsICJ3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFIik7CiAKICAgICByZXEgPSBldmFsQW5kTG9nKCJ0cmFucy5vYmplY3RTdG9yZSgnYScpLnB1
dCh7J2EnOiAwfSkiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVkLnR4dAppbmRleCAxMWNjMjky
MTJhNjE4NTFlOTU4MDE2ZmIyZDc3ZDA1NDNlZTcxOTVkLi5iYWNkNDFkMDMzZGYwYzM3Njk5ZWQ4
Mjg0NDExMWEzZGIwY2E1NThiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3ktZXhwZWN0ZWQudHh0CkBAIC0x
Niw3ICsxNiw3IEBAIG9iamVjdFN0b3JlLmFkZCgnc29tZVZhbHVlMicsICdzb21lS2V5MicpLm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb2JqZWN0U3RvcmUuYWRkKCdzb21lVmFs
dWUzJywgJ3NvbWVLZXkzJykub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmpl
Y3RTdG9yZS5hZGQoJ3NvbWVWYWx1ZTQnLCAnc29tZUtleTQnKS5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2sKIG9wZW5CYXNpY0N1cnNvcigpCi10cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2Fj
dGlvbihbJ2Jhc2ljU3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRy
YW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJykKIG9iamVjdFN0b3JlLm9wZW5DdXJzb3Ioa2V5
UmFuZ2UpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1pbmNvbnNpc3RlbmN5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJz
b3ItaW5jb25zaXN0ZW5jeS5odG1sCmluZGV4IGI5Y2NiNThiMmRjOTlhMDQxMjYxMGYyOGI5NTkx
MzM2YWY0ZjZjZGYuLjBkODU4M2E1NjVjMDUxMjE0ODkyODFhOGNlMTU1ODkzMDE5NWQ2ZDYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3Rl
bmN5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29u
c2lzdGVuY3kuaHRtbApAQCAtNTMsNyArNTMsNyBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2Vz
cygpCiBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogewogICAgIGRlYnVnKCJvcGVuQmFzaWND
dXJzb3IoKSIpOwotICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgZXZhbEFuZExvZygidHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbJ2Jhc2ljU3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7
CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVs
ZXRlZC1leHBlY3RlZC50eHQKaW5kZXggMzE3YzkyNWE3NDcxY2RlYWM4ODE4YmJkMzAxZWNkYTA0
NjdjZmJkMS4uZTEyOWFkOTFkNmEwNDExZGNjOTQ3Y2NiYzE3OTFmN2VmZTcxN2RhMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNr
aXAtZGVsZXRlZC1leHBlY3RlZC50eHQKQEAgLTE2LDcgKzE2LDcgQEAgb2JqZWN0U3RvcmUuY3Jl
YXRlSW5kZXgoJ25hbWVJbmRleCcsICduYW1lJykKIHJlc2V0T2JqZWN0U3RvcmUoKToKIAogYmFz
aWNDdXJzb3JUZXN0KCkKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIAogdGVzdEN1cnNvcigpOgogdHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykub3BlbkN1cnNvcih3ZWJraXRJREJLZXlSYW5nZS5sb3dlckJvdW5k
KDApKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNr
aXAtZGVsZXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNr
aXAtZGVsZXRlZC5odG1sCmluZGV4IGEzYmIwZDk1ZWVhYTIyNzU2NjhiYzlmMWE0MzUyMGVkNjkx
YzM0ZTguLjA0MTMwZmVkZGIzYThlMjBhMDlhMzEzMWFmMGYzM2FiYzU3OGM4OWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVk
Lmh0bWwKQEAgLTE0Niw3ICsxNDYsNyBAQCBmdW5jdGlvbiBiYXNpY0N1cnNvclRlc3QoKQogewog
ICAgIGRlYnVnKCJiYXNpY0N1cnNvclRlc3QoKSIpOwogCi0gICAgZXZhbEFuZExvZygidHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsK
KyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBl
Y3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29t
cGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci11cGRhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLXVwZGF0ZS1leHBlY3RlZC50eHQKaW5kZXggOTU1YmNmOTE4ZWRlZDQ4YmQxMWJmYWFlNGE0
ZGFiOTZhYjUzZDcyZC4uNGFlYmQ1NDZlMDc1OTVjMWFjMDZiOWE4NDE0ZTcwMjRiMGY2M2EwOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVw
ZGF0ZS1leHBlY3RlZC50eHQKQEAgLTI3LDcgKzI3LDcgQEAgb2JqZWN0U3RvcmUuYWRkKHtudW1i
ZXI6IDIsIGlkOiAyfSkub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmplY3RT
dG9yZS5hZGQoe251bWJlcjogMywgaWQ6IDN9KS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2sKIG9iamVjdFN0b3JlLmFkZCh7bnVtYmVyOiA0LCBpZDogNH0pLm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjawogb3BlbkJhc2ljQ3Vyc29yKCkKLXRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFsnYmFzaWNTdG9yZScsICdhdXRvSW5jcmVtZW50U3RvcmUnLCAna2V5UGF0aFN0
b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vYmplY3RTdG9y
ZSgnYmFzaWNTdG9yZScpCiBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKGtleVJhbmdlKQogYmFzaWNV
cGRhdGVDdXJzb3IoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29y
LXVwZGF0ZS5odG1sCmluZGV4IDc4M2E4OGMwMTdlYzQ1OTU0MzYzOTVjNTgwNzg0NDRhYTg0ZDQ3
MzEuLmZkOTcyOTQ2OTFjZTk2MzY0YmQwMzg4ODMzZTI2OTEyYWYxNWU4NWEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwKQEAgLTY1LDcg
KzY1LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogZnVuY3Rpb24gb3BlbkJhc2lj
Q3Vyc29yKCkKIHsKICAgICBkZWJ1Zygib3BlbkJhc2ljQ3Vyc29yKCkiKTsKLSAgICBldmFsQW5k
TG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydiYXNp
Y1N0b3JlJywgJ2F1dG9JbmNyZW1lbnRTdG9yZScsICdrZXlQYXRoU3RvcmUnXSwgd2Via2l0SURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3Rl
ZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxl
dGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29y
cnVwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRh
LWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGEwMmI1NGMyZTE4MDk2MzExZWFlZTcyYzk4
OTE1YjNiZWQ4Y2MyZDMuLjMxYjE0YThmNjk0MThjNGY5MDZjNWQ0NTQ2MzdiMWYzM2Q4NDY0Yjcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlv
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1j
b3JydXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTMsMTAgKzEzLDEwIEBAIFBBU1MgdHJhbnMgIT09
IG51bGwgaXMgdHJ1ZQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQogYWRkRGF0YSgpOgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkKIHJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykuYWRk
KHt4OiB0ZXN0RGF0ZX0sICdrZXknKQogYWRkRGF0YSgpOgotdHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKQordHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X09OTFkpCiByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpLmdl
dCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC54LnRvU3RyaW5nKCkgPT0gdGVzdERh
dGUudG9TdHJpbmcoKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24u
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1s
CmluZGV4IGVhNzkyOGIxOGJmODViZWZlM2I0ODI2Nzg4ZjQ2ZjVhNGY4MmMwYTMuLjBhZGIyMzVl
NWJmOGRmNmJlMGYyMDY1N2YzN2QyNTY3OGQzNDkyOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1sCkBAIC00OSw3ICs0OSw3IEBA
IHZhciB0ZXN0RGF0ZSA9IG5ldyBEYXRlKCdGZWJydWFyeSAyNCwgMTk1NSAxMjowMDowOCcpOwog
ZnVuY3Rpb24gYWRkRGF0YSgpCiB7CiAgICAgZGVidWcoImFkZERhdGEoKToiKTsKLSAgICB2YXIg
dHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHZhciB0cmFuc2FjdGlv
biA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUn
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB2YXIgcmVxdWVzdCA9
IGV2YWxBbmRMb2coInJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykuYWRkKHt4OiB0ZXN0RGF0ZX0sICdrZXknKSIpOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSBnZXRE
YXRhOwpAQCAtNTgsNyArNTgsNyBAQCBmdW5jdGlvbiBhZGREYXRhKCkKIGZ1bmN0aW9uIGdldERh
dGEoKQogewogICAgIGRlYnVnKCJhZGREYXRhKCk6Iik7Ci0gICAgdmFyIHRyYW5zYWN0aW9uID0g
ZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9PTkxZKSIpOworICAgIHZhciB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2co
InRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9PTkxZKSIpOwogICAgIHZhciByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVx
dWVzdCA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKS5nZXQoJ2tleScpIik7
CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBkb0NoZWNrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKaW5kZXggMmU2MjJmMDQ1NThlY2E3ZTBmMGVhNzU3
NDFiNGRlMWNmNDVmOGI4Yi4uN2FkMGM0ODI2OWY4YTAzMjA0MWE4ZWNhNTJjOThmY2YwNDEzMTY3
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVv
dGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90
YS5odG1sCkBAIC02MSw3ICs2MSw3IEBAIGZ1bmN0aW9uIGNoZWNrT2JqZWN0U3RvcmUoKQogCiBm
dW5jdGlvbiBjaGVja1F1b3RhRW5mb3JjaW5nKCkKIHsKLSAgICB2YXIgdHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKSIpOworICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWyd0ZXN0MTIzJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAg
ICAgdHJhbnMub25hYm9ydCA9IHRlc3RDb21wbGV0ZTsKICAgICB0cmFucy5vbmNvbXBsZXRlID0g
dW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CiAgICAgZGVidWcoIkNyZWF0aW5nICdkYXRhJyB3
aGljaCBjb250YWlucyA2NEsgb2YgZGF0YSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRl
ZmF1bHQtZXhwZWN0ZWQudHh0CmluZGV4IDk2ZjRiNjVmNjQ3MTc3MjAzN2I3N2IyNDgwOWIxOTg2
N2QzYmQ4MzMuLjhhNTVkOWY3NzI0ZTVmMjNkODM1NDNlZjA3ZWQ2NTQyYWYwMWFiNDMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1i
eS1kZWZhdWx0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC1leHBlY3RlZC50eHQKQEAgLTEyLDcgKzEy
LDcgQEAgUEFTUyB0cmFucyAhPT0gbnVsbCBpcyB0cnVlCiB0cmFucy5vbmNvbXBsZXRlID0gYWRk
RGF0YQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnLCBudWxsKQotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUn
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB1bmV4
cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxl
dGVkCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQpAQCAtMjIsNyArMjIs
NyBAQCBldmVudC5wcmV2ZW50RGVmYXVsdCgpCiBQQVNTIFRyYW5zYWN0aW9uIGNvbXBsZXRlZAog
CiAKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVk
MQogdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrCiBzdG9yZSA9
IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQpAQCAtMzEsNyArMzEsNyBAQCBEb2luZyBu
b3RoaW5nIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYWN0aW9uLi4uCiBQQVNTIFRyYW5zYWN0aW9u
IGFib3J0ZWQKIAogCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25hYm9ydCA9IHRyYW5zYWN0
aW9uQWJvcnRlZDIKIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFj
awogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQt
YnktZGVmYXVsdC5odG1sCmluZGV4IDhjZTZkMDdkNzUxN2RiYTg2YWExMGMzMzg2N2ZhN2U4ODFm
ZDU2ZjkuLmQxOThiMGFjYzE1ZGU1NjA4ZmQ4ZmRkZDk1ZDhmYmZkMDMxMTg2NzggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1k
ZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1
c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRtbApAQCAtNDUsNyArNDUsNyBAQCBmdW5jdGlvbiBkZWxl
dGVFeGlzdGluZygpCiAKIGZ1bmN0aW9uIGFkZERhdGEoKQogewotICAgIHRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAg
ICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsK
ICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdHJhbnNhY3Rpb25Db21wbGV0ZWQi
KTsKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpIik7CkBAIC03Miw3ICs3Miw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQ29tcGxl
dGVkKCkKICAgICB0ZXN0UGFzc2VkKCJUcmFuc2FjdGlvbiBjb21wbGV0ZWQiKTsKICAgICBkZWJ1
ZygiIik7CiAgICAgZGVidWcoIiIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBk
Yi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAg
ICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUn
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0
cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkMSIpOwogICAgIGV2YWxBbmRMb2coInRy
YW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjayIpOwogICAgIHN0b3Jl
ID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsK
QEAgLTkxLDcgKzkxLDcgQEAgZnVuY3Rpb24gdHJhbnNhY3Rpb25BYm9ydGVkMSgpCiAgICAgdGVz
dFBhc3NlZCgiVHJhbnNhY3Rpb24gYWJvcnRlZCIpOwogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1
ZygiIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFu
c2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0
cmFuc2FjdGlvbkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9
IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJz
dG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZl
bnQtYWJvcnRzLWV4cGVjdGVkLnR4dAppbmRleCBkNGI3NGZhZGYxMjcwY2VlZTAzZGM1ZjUxY2M4
YWJlYzQ3ZWJkYmEwLi5lOTc4NWNiMTZhOGYyNWUzMWZjZWE2Yjk4ZDg4NzZmN2YyMzIxMDhlIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZl
bnQtYWJvcnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4dApAQCAtMTYsNyArMTYsNyBA
QCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6eid9LCAn
a2V5JykKIAotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFi
b3J0ZWQxCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2sKIHN0
b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCkBAIC0yNiw3ICsyNiw3IEBAIGV2
ZW50LnByZXZlbnREZWZhdWx0KCkKIFRocm93aW5nCiAKIFBBU1MgVGhlIHRyYW5zYWN0aW9uIHdh
cyBhYm9ydGVkLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlv
bkFib3J0ZWQyCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2sK
IHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCkBAIC0zNiw3ICszNiw3IEBA
IGV2ZW50LnByZXZlbnREZWZhdWx0KCkKIFRocm93aW5nCiAKIFBBU1MgVGhlIHRyYW5zYWN0aW9u
IHdhcyBhYm9ydGVkLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVj
dGVkQWJvcnRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGVk
MQogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKQEAgLTQ2LDcgKzQ2LDcg
QEAgZXZlbnQucHJldmVudERlZmF1bHQoKQogVGhyb3dpbmcgd2l0aGluIGEgdHJ5IGJsb2NrCiAK
IFBBU1MgVGhlIHRyYW5zYWN0aW9uIGNvbXBsZXRlZC4KLXRyYW5zID0gZGIudHJhbnNhY3Rpb24o
W10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFu
cy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sKIHRyYW5zLm9uY29tcGxldGUgPSB0
cmFuc2FjdGlvbkNvbXBsZXRlZDIKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24t
aW4tZXZlbnQtYWJvcnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNl
cHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwKaW5kZXggODllMjdlZjBkZGRhMmQzOGQ5MGVhMGRj
MjZkOWQyYzYyNTRhMTUxNy4uOWY1MjJiZTFiNThkMjA4MGI5ZmUzZmFhN2NlNzAxMzg4NGIwOTcz
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWlu
LWV2ZW50LWFib3J0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4
Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbApAQCAtNDgsNyArNDgsNyBAQCBmdW5jdGlvbiBk
ZWxldGVFeGlzdGluZygpCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewogICAgIGRlYnVnKCIiKTsK
LSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25hYm9ydCA9IHRyYW5zYWN0
aW9uQWJvcnRlZDEiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdW5leHBl
Y3RlZENvbXBsZXRlQ2FsbGJhY2siKTsKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0g
dHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CkBAIC02OSw3ICs2OSw3IEBAIGZ1bmN0
aW9uIHRyYW5zYWN0aW9uQWJvcnRlZDEoKQogewogICAgIGRlYnVnKCIiKTsKICAgICB0ZXN0UGFz
c2VkKCJUaGUgdHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAg
IGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyIik7CiAgICAg
ZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNr
Iik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKSIpOwpAQCAtODIsNyArODIsNyBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0
ZWQyKCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAgdGVzdFBhc3NlZCgiVGhlIHRyYW5zYWN0aW9u
IHdhcyBhYm9ydGVkLiIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFu
c2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5v
bmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0cmFu
cy5vbmNvbXBsZXRlID0gdHJhbnNhY3Rpb25Db21wbGV0ZWQxIik7CiAgICAgc3RvcmUgPSBldmFs
QW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAtMTA3
LDcgKzEwNyw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQ29tcGxldGVkMSgpCiB7CiAgICAgZGVi
dWcoIiIpOwogICAgIHRlc3RQYXNzZWQoIlRoZSB0cmFuc2FjdGlvbiBjb21wbGV0ZWQuIik7Ci0g
ICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJh
bnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVk
QWJvcnRDYWxsYmFjayIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB0cmFu
c2FjdGlvbkNvbXBsZXRlZDIiKTsKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJh
bnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLWV4cGVjdGVkLnR4dAppbmRleCA5ZjEwZjQx
NDRmZmQ0OGE1NmI4ZDU4YWY5MGYwOWJjNmY0MzE4ZjhlLi5iMWEwMjczMDM0N2FlZjQ4ZTMzMTZj
MjU2ZTY4MGU4ZDY0NjM4NjY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC11bmlxdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2luZGV4LXVuaXF1ZS1leHBlY3RlZC50eHQKQEAgLTEzLDcgKzEzLDcgQEAgRGVs
ZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCiBz
dG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcsIHt1bmlxdWU6IHRydWV9KQogc2V0VmVyc2lv
bkNvbXBsZXRlZCgpOgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt4OiAxfSwgJ2ZvbycpCiBhZGRNb3JlRGF0YSgpOgogdHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt4OiAxfSwgJ2JhcicpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1sCmluZGV4IDUwYjYz
OWJiNmQxYzcwYzEwODNjOTY2MDZlYjY3NTUzMGY5ODQyZjguLmIwN2UxODQwM2I4MmY5NjU4ZGZj
NjZmM2I0NTYxZWMzMDkxNjVhMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2luZGV4LXVuaXF1ZS5odG1sCkBAIC00OSw3ICs0OSw3IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4
aXN0aW5nKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25Db21wbGV0ZWQoKQogewogICAgIGRlYnVnKCJz
ZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7Ci0gICAgd2luZG93LnRyYW5zYWN0aW9uID0gZXZhbEFu
ZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKKyAgICB3aW5kb3cudHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKIAogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoe3g6IDF9LCAnZm9vJykiKTsKICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3ItZXhwZWN0ZWQudHh0Cmlu
ZGV4IDI3MGIyNGZlNzQ2ZTZhYzA3ZTllNmI5OWIzMTE2NDJkY2VmODIxNjAuLjJiODliNjFhYWZk
NmZjNDc5MTJjNzMxODc1MWQyMWNiMDBlMjc3YmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLWV4cGVjdGVkLnR4dApAQCAt
MTYsNyArMTYsNyBAQCBvYmplY3RTdG9yZS5hZGQoMiwgMikub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoMywgMykub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoNCwgNCkub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrCiBvcGVuRm9yd2FyZEN1cnNvcigpCi10cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5v
YmplY3RTdG9yZSgnc3RvcmUnKQogb2JqZWN0U3RvcmUub3BlbkN1cnNvcigpCiBmb3J3YXJkQ3Vy
c29yKCkKQEAgLTQ5LDcgKzQ5LDcgQEAgZm9yd2FyZEN1cnNvcigpCiBQQVNTIGN1cnNvclN0ZXBz
IGlzIDUKIGZvcndhcmRDdXJzb3JDb21wbGV0ZSgpCiBvcGVuUmV2ZXJzZUN1cnNvcigpCi10cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpCiB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQogb2JqZWN0U3RvcmUub3BlbkN1
cnNvcihudWxsLCB3ZWJraXRJREJDdXJzb3IuUFJFVikKIHJldmVyc2VDdXJzb3IoKQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbAppbmRl
eCA1ODA4ZGI3NzUxOWMyMTk0NTg5NGQ1MzdmOWVlODc2ZjQ3NWIyNjc3Li5jZjE5MWJiNGQ3MDY3
NDBmMTA3NjM5Mjc4Y2VhZWVjZjc0NjZjZDNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbApAQCAtNTIsNyArNTIsNyBAQCBmdW5j
dGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVuRm9yd2FyZEN1cnNvcigpCiB7
CiAgICAgZGVidWcoIm9wZW5Gb3J3YXJkQ3Vyc29yKCkiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
OworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4
cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gZm9yd2FyZEN1cnNv
ckNvbXBsZXRlOwogCkBAIC05Nyw3ICs5Nyw3IEBAIGZ1bmN0aW9uIGZvcndhcmRDdXJzb3JDb21w
bGV0ZSgpCiBmdW5jdGlvbiBvcGVuUmV2ZXJzZUN1cnNvcigpCiB7CiAgICAgZGVidWcoIm9wZW5S
ZXZlcnNlQ3Vyc29yKCkiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2co
InRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKSIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFj
azsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gcmV2ZXJzZUN1cnNvckNvbXBsZXRlOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5j
cmVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDg3ZTQ3N2JlZThjYzk3ZTg3
ZDQ3MmM1MTcyZTcwNTUwMGQ2YTlhYzQuLjQ4YjExYmIwYjkwM2JhODY3NTMxYzY2YTY5YzZlOTVi
M2YwNTJiNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0y
Myw3ICsyMyw3IEBAIFBBU1Mgc3RvcmVOYW1lcy5jb250YWlucygnU3RvcmVXaXRoQXV0b0luY3Jl
bWVudCcpIGlzIHRydWUKIFBBU1Mgc3RvcmVOYW1lcy5jb250YWlucygnUGxhaW5PbGRTdG9yZScp
IGlzIHRydWUKIFBBU1Mgc3RvcmVOYW1lcy5sZW5ndGggaXMgMwogc2V0VmVyc2lvbkNvbXBsZXRl
ZCgpOgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0
b3JlV2l0aEF1dG9JbmNyZW1lbnQnLCAnUGxhaW5PbGRTdG9yZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnU3RvcmVXaXRoS2V5
UGF0aCcpCiBJbnNlcnQgaW50byBvYmplY3Qgc3RvcmUgd2l0aCBhdXRvIGluY3JlbWVudCBhbmQg
a2V5IHBhdGgsIHdpdGgga2V5IGluIHRoZSBvYmplY3QuCiBzdG9yZS5hZGQoe25hbWU6ICdKZWZm
ZXJzc29uJywgbnVtYmVyOiAnNzAxMCcsIGlkOiAzfSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbApp
bmRleCAwOTQ1Yzg0MThiOTA2OWNlZDk0YmUxMDY3MThjYjhmZGEwOWVlMzU3Li5jZjNlNTY4YjMz
ODExYWNhNzQ4NTM5NTg4ODdhODVkZDYzMDI1ZDk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1s
CkBAIC02MSw3ICs2MSw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb25Db21wbGV0ZWQoKQogewogICAg
IGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7CiAKLSAgICB3aW5kb3cudHJhbnMgPSBl
dmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKSIpOworICAgIHdpbmRvdy50cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0g
ZGIudHJhbnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0b3JlV2l0aEF1dG9JbmNyZW1l
bnQnLCAnUGxhaW5PbGRTdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
OwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFu
cy5vbmNvbXBsZXRlID0gZG9uZTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggYjc1
ZWQzM2UxMWU1ZTRhNTQ0Y2U5Njg2MjJlZTU5MDhjZjliNjdkZS4uOTE1MGRlZTQyNDUyZmQzN2Rl
OWNjMzZhM2I2NjdmOWQzYTg4M2VmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC00
OSw3ICs0OSw3IEBAIFBBU1Mgc3RvcmUuaW5kZXhOYW1lc1sxXSBpcyBudWxsCiBQQVNTIHN0b3Jl
LmluZGV4TmFtZXNbMTAwXSBpcyBudWxsCiBQQVNTIHN0b3JlLmluZGV4TmFtZXMuaXRlbSgxKSBp
cyBudWxsCiBQQVNTIHN0b3JlLmluZGV4TmFtZXMuaXRlbSgxMDApIGlzIG51bGwKLXRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Cit0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKQogVHJ5IHRvIGluc2VydCBkYXRhIHdpdGggYSBEYXRlIGtleToKIHN0b3JlLmFk
ZCh7eDogJ2Zvbyd9LCB0ZXN0RGF0ZSkKQEAgLTY1LDE5ICs2NSwxOSBAQCBldmVudC50YXJnZXQu
c291cmNlLmFkZCh7eDogJ2Zvbyd9LCAnenp6JykKIGFkZEFnYWluRmFpbHVyZSgpOgogUEFTUyBl
dmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkNPTlNU
UkFJTlRfRVJSCiBldmVudC5wcmV2ZW50RGVmYXVsdCgpCi1kYi50cmFuc2FjdGlvbihbXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK2RiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1l
J10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBzdG9yZSA9IHRyYW5zYWN0aW9u
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3Jl
LmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24u
CiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKLWRiLnRy
YW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5hZGQoe3g6
IG51bGx9LCAndmFsaWRrZXknKQogUEFTUyBldmVudC5jYW5jZWxhYmxlIGlzIHRydWUKIGFkZFdp
dGhOdWxsSW5kZXhGYWlsdXJlKCk6CiBQQVNTIGV2ZW50LnRhcmdldC5lcnJvckNvZGUgaXMgd2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIGV2ZW50LnByZXZlbnREZWZhdWx0KCkK
LWRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorZGIu
dHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5n
ZXQoJ2tleScpCiBnZXRTdWNjZXNzKCk6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCmluZGV4IDY0MWQ2ZTllZjliMzY4YzNm
ZDZjZjEyODI3M2I3MzU4NmM4ZmNjYTcuLmY0NzFlY2ZkYTk1NThjNWMwYjZkNjYwOWVmZDk5OGY2
ZGY3NmY4ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29i
amVjdHN0b3JlLWJhc2ljcy5odG1sCkBAIC0xMzQsNyArMTM0LDcgQEAgdmFyIHRlc3REYXRlQiA9
IG5ldyBEYXRlKCJXZWQgSmFuIDA1IDIwMTEgMTU6NTQ6NDkiKTsKIAogZnVuY3Rpb24gYWRkRGF0
YSgpCiB7Ci0gICAgdmFyIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAg
ICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAg
ICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHdp
bmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUo
J3N0b3JlTmFtZScpIik7CiAKQEAgLTE4MCwxMyArMTgwLDEzIEBAIGZ1bmN0aW9uIGFkZEFnYWlu
RmFpbHVyZSgpCiAKICAgICBldmFsQW5kTG9nKCJldmVudC5wcmV2ZW50RGVmYXVsdCgpIik7CiAK
LSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExv
ZygiZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5v
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIAogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
InN0b3JlLmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkiLCAid2Via2l0SURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIiKTsKIAotICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAg
dHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJv
cnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9n
KCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwogCkBAIC0y
MDMsNyArMjAzLDcgQEAgZnVuY3Rpb24gYWRkV2l0aE51bGxJbmRleEZhaWx1cmUoKQogCiAgICAg
ZXZhbEFuZExvZygiZXZlbnQucHJldmVudERlZmF1bHQoKSIpOwogCi0gICAgdHJhbnNhY3Rpb24g
PSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkiKTsKKyAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9u
KFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAg
dHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZhciBz
dG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3Jl
TmFtZScpIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29i
amVjdHN0b3JlLWNsZWFyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWNsZWFyLWV4cGVjdGVkLnR4dAppbmRleCAyODc1ZmQ2YjI5OWQ3ZDU0
NzI0MjhkYTI4ZTkzYjlmZDE5MGUzNTk5Li4zMWI2ZjkxOWI2YmM2YzEyMzdlNmM1ZjgxMTljY2M4
ZmJiYzlmNzQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1jbGVhci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY2xlYXItZXhwZWN0ZWQudHh0CkBAIC0yMyw3ICsyMyw3IEBAIGlu
ZGV4ID0gc3RvcmUuaW5kZXgoJ2luZGV4TmFtZScpCiBpbmRleC5vcGVuS2V5Q3Vyc29yKCkKIG9w
ZW5LZXlDdXJzb3JTdWNjZXNzKCk6CiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgbnVsbAot
ZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEV9KQor
ZGIudHJhbnNhY3Rpb24oWydvdGhlclN0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKQogb3RoZXJTdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdvdGhlclN0
b3JlTmFtZScpCiBvdGhlclN0b3JlLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3Vs
dCBpcyAidmFsdWUiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1jbGVhci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2Jq
ZWN0c3RvcmUtY2xlYXIuaHRtbAppbmRleCBmMTg4NDhiNDRkOWE1NDMyODhiYjk4NTBlNWRkYzA0
M2QzMmRkODNlLi43NmZmNDc0ZTRmNjY1MWNkYTFmYzA4YjlhMjU0NGQ3MTk0MTU1MTE2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFy
Lmh0bWwKQEAgLTg3LDcgKzg3LDcgQEAgZnVuY3Rpb24gb3BlbktleUN1cnNvclN1Y2Nlc3MoKQog
ICAgIGRlYnVnKCJvcGVuS2V5Q3Vyc29yU3VjY2VzcygpOiIpOwogICAgIHNob3VsZEJlTnVsbCgi
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwogCi0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJk
Yi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pIik7
CisgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ290aGVyU3Rv
cmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNh
Y3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZhciBvdGhlclN0
b3JlID0gZXZhbEFuZExvZygib3RoZXJTdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdv
dGhlclN0b3JlTmFtZScpIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4
cGVjdGVkLnR4dAppbmRleCA3N2VkMDFmY2Y4NDA0NjY4MzU2MGE4NTcxY2IzYjY1MmM1N2FiNTVh
Li5hYjY5YjQ3NDU3NDI0MWNlYmMwNjBjZWU0OWJjNTI0Yzk1YjVlMjYyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9y
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0CkBAIC0xMyw3ICsxMyw3IEBAIHN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCiBzdG9yZS5jcmVh
dGVJbmRleCgnaW5kZXhOYW1lJywgJycpCiBQQVNTIHN0b3JlLmluZGV4TmFtZXMuY29udGFpbnMo
J2luZGV4TmFtZScpIGlzIHRydWUKIHN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykKLWRiLnRyYW5z
YWN0aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkKK2RiLnRyYW5z
YWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBz
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogc3RvcmUuZ2V0KCdr
ZXknKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzICJ2YWx1ZSIKQEAgLTIyLDcgKzIyLDcg
QEAgdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0CiBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRy
dWUKIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScsIG51bGwpCi1kYi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURX0pCitkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJl
c3VsdCBpcyB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCmluZGV4IGY0
NGIyN2VjNDE1MWJmOGI1Y2ZhMTNmZjUyODQzMjJiMjU4NzMyYzAuLmJkMTcyOTY0ODEzZWE2ZjNh
NWVjODU4OGZkMDBkOGQ1MzUxN2E1NTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRt
bApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiAKIGZ1bmN0aW9u
IGdldFZhbHVlKCkKIHsKLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0
aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsKKyAgICB0cmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2coInN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAKQEAgLTg1LDcg
Kzg1LDcgQEAgZnVuY3Rpb24gY3JlYXRlT2JqZWN0U3RvcmVBZ2FpbigpCiAKIGZ1bmN0aW9uIGdl
dFZhbHVlQWdhaW4oKQogewotICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNh
Y3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEV9KSIpOworICAgIHRy
YW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygi
c3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdh
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0
LWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmNzFmNzgxZDcxODRlM2M4OWRk
MmEyODliNmQ2MDliNDYxNjA4N2IyLi5mOGM2ZGY3ZWYzMzFjYzBhZjIxMzQ1YzRmMGIxNTE5MzA1
Yjc1NjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0
LWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTQs
NyArMTQsNyBAQCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTog
J3p6eid9LCAna2V5JykKIFZlcmlmeSB0aGF0IGhhbmRsZXIgZmlyZXMgYW5kIHRoYXQgbm90IHBy
ZXZlbnRpbmcgZGVmYXVsdCB3aWxsIHJlc3VsdCBpbiBhbiBhYm9ydAotdHJhbnMgPSBkYi50cmFu
c2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIu
dHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkKIHRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQKIHRyYW5zLm9uY29tcGxldGUg
PSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjawogdHJhbnMub25lcnJvciA9IGFsbG93RGVmYXVs
dApAQCAtMjUsNyArMjUsNyBAQCBEb2luZyBub3RoaW5nIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQg
YWN0aW9uLi4uCiBQQVNTIGhhbmRsZXJGaXJlZCBpcyB0cnVlCiAKIFZlcmlmaW5nIGVycm9yCi10
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDIKIHRy
YW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMuYWRkRXZlbnRM
aXN0ZW5lcignZXJyb3InLCBlcnJvckNhcHR1cmVDYWxsYmFjaywgdHJ1ZSkKQEAgLTkyLDcgKzky
LDcgQEAgUEFTUyBidWJibGVGaXJlZCBpcyB0cnVlCiBQQVNTIGRiQnViYmxlRmlyZWQgaXMgdHJ1
ZQogCiBWZXJpZmluZyBzdWNjZXNzLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9y
ZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uY29tcGxl
dGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0
Q2FsbGJhY2sKIHRyYW5zLmFkZEV2ZW50TGlzdGVuZXIoJ3N1Y2Nlc3MnLCBzdWNjZXNzQ2FwdHVy
ZUNhbGxiYWNrLCB0cnVlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCmluZGV4IDNiMWRhM2JlOTM1
ZDU3OTY1YWMwYmVjMjZmOThjNWU1YWI2NmJhZGUuLmQ3ZmJlZTJmMmI1NjkxZmQ2NTc4MDY2NmI1
MWMyMjU0MWU0YjM0M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKQEAgLTQ4LDcgKzQ4LDcg
QEAgZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKICAg
ICBkZWJ1ZygiVmVyaWZ5IHRoYXQgaGFuZGxlciBmaXJlcyBhbmQgdGhhdCBub3QgcHJldmVudGlu
ZyBkZWZhdWx0IHdpbGwgcmVzdWx0IGluIGFuIGFib3J0Iik7Ci0gICAgdHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAg
IGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQiKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2si
KTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmVycm9yID0gYWxsb3dEZWZhdWx0Iik7CkBAIC03
MCw3ICs3MCw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZCgpCiAgICAgc2hvdWxkQmVU
cnVlKCJoYW5kbGVyRmlyZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlZlcmlmaW5n
IGVycm9yIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQg
PSB0cmFuc2FjdGlvbkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0
ZSA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMuYWRk
RXZlbnRMaXN0ZW5lcignZXJyb3InLCBlcnJvckNhcHR1cmVDYWxsYmFjaywgdHJ1ZSkiKTsKQEAg
LTE3Myw3ICsxNzMsNyBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQyKCkKICAgICBzaG91
bGRCZVRydWUoImRiQnViYmxlRmlyZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlZl
cmlmaW5nIHN1Y2Nlc3MuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5z
Lm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlIik7CiAgICAgZXZhbEFuZExvZygidHJh
bnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygi
dHJhbnMuYWRkRXZlbnRMaXN0ZW5lcignc3VjY2VzcycsIHN1Y2Nlc3NDYXB0dXJlQ2FsbGJhY2ss
IHRydWUpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFu
c2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQKaW5kZXggYzNiY2I3MDY5YTcwM2YwM2M3
OTBkMWVlOTFiNDdhMThlNzZiZDk3Mi4uYjIwODllMDkzOTIxMjdiMGE0Mzg1Yjg3MzA0NWJkYTVi
MWJkNDI0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dApAQCAtMTMsNyArMTMsNyBAQCB0cmFu
cy5vbmNvbXBsZXRlID0gc3RhcnRUZXN0CiBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7
eDogJ3ZhbHVlJywgeTogJ3p6eid9LCAna2V5JykKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10s
IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5v
bmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3Rl
ZENvbXBsZXRlQ2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1h
Ym9ydC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50
eHQKaW5kZXggOWEyMTZlOTRhYTNkMDIxMjMxNGY1NmI0OTQ1M2FlMzgzOWVhNWUwOS4uN2ExZmZh
ZjczMzRiMmQ1MTFhMDdhODY0MDcyYWQ1ZDcwZTcxMzVkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uLWV4cGVjdGVkLnR4dApAQCAtOCw5ICs4LDkgQEAg
UEFTUyB3ZWJraXRJbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQogd2Via2l0SW5kZXhlZERCLm9w
ZW4oJ3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uJykKIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdAogZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQotcGVuZGluZ1RyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
CitwZW5kaW5nVHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ29iamVjdFN0b3JlJ10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBTdGFydCByZS1lbnRyYW50IEpTCi10cmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKQordHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ29iamVjdFN0b3JlJ10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBFbmQgcmUtZW50cmFudCBKUwogc3RvcmUgPSBw
ZW5kaW5nVHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJykKIFBBU1Mgc3RvcmUg
IT09IHVuZGVmaW5lZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1sIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNp
b24uaHRtbAppbmRleCBkMGNkZTAzY2MyZjVkODdhNzkzOGU3ZGJhMmRhMGQ1NmNlNWM0MGU3Li5j
ZWQ2ZWMzZWQwM2YzMDcxOTVhNjIwZWM4YTkyNzM5YTYwYTFkMDZiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vy
c2lvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFib3J0LXdpdGgtanMtcmVjdXJzaW9uLmh0bWwKQEAgLTM2LDggKzM2LDkgQEAgZnVuY3Rpb24g
c2V0VmVyc2lvbigpIHsKIH0NCiANCiBmdW5jdGlvbiBjbGljaygpIHsNCisgICAgc3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnLCBudWxsKTsNCiAgICAgYm9keS5vbmNs
aWNrID0gdGVzdDsNCi0gICAgdmFyIHBlbmRpbmdUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInBl
bmRpbmdUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKSIpOw0KKyAgICB2YXIgcGVuZGluZ1RyYW5zYWN0aW9uID0gZXZhbEFuZExv
ZygicGVuZGluZ1RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSddLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBwZW5kaW5nVHJhbnNhY3Rp
b24ub25zdWNjZXNzID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogICAgIHBlbmRpbmdUcmFu
c2FjdGlvbi5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogICAgIHBlbmRpbmdU
cmFuc2FjdGlvbi5vbmFib3J0ID0gYWJvcnRDYWxsYmFjazsNCkBAIC01Miw4ICs1Myw3IEBAIGZ1
bmN0aW9uIGNsaWNrKCkgewogZnVuY3Rpb24gdGVzdCgpDQogew0KICAgICBkZWJ1ZygiU3RhcnQg
cmUtZW50cmFudCBKUyIpOw0KLSAgICBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdvYmpl
Y3RTdG9yZScsIG51bGwpOw0KLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Iik7DQorICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFu
c2FjdGlvbihbJ29iamVjdFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Iik7DQogICAgIGRlYnVnKCJFbmQgcmUtZW50cmFudCBKUyIpOw0KIH0NCiANCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAppbmRl
eCA2YmQwYzAwZDM4NGY1ZDQ5YTRjNTNiOWY1ZjBjNmVlZGZiZmIyZDU0Li4xZDI4MDI3MGI4NzY1
N2IyYzhhNWM3ZDhjOWJiZThiNzQ4ZDg3NjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwKQEAgLTQ3LDcgKzQ3LDcgQEAg
ZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewotICAg
IHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5z
ID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25B
Ym9ydGVkIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRD
b21wbGV0ZUNhbGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5z
Lm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0
ZWQudHh0CmluZGV4IDZiZTU3OTU2YWI4Nzk3ZDJjNTU1ZDU1YTllY2NhNDQwOTA3Y2MzMGQuLjIz
OGUxNTkxZmQ5NzllZmZlM2Y2ZGFkYTQ1ZGZlNGFlYWRlNDI5YzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRl
ci1jbG9zZS1leHBlY3RlZC50eHQKQEAgLTE0LDE3ICsxNCwxNyBAQCBzdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzdG9yZScpCiByZXF1ZXN0ID0gc3RvcmUucHV0KCd4JywgJ3knKQogUEFT
UyBQdXQgc3VjY2VzcwogcnVubmluZyBmaXJzdCB0cmFuc2FjdGlvbgotY3VycmVudFRyYW5zYWN0
aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
CitjdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBvYmplY3RTdG9yZS5wdXQoJ2EnLCAnYicpCiBkYi5j
bG9zZSgpCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIu
dHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQog
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIKIAogdmVyaWZ5IHRoYXQgd2UgY2FuIHJlb3BlbiB0
aGUgZGIgYWZ0ZXIgY2FsbGluZyBjbG9zZQogd2Via2l0SW5kZXhlZERCLm9wZW4oJ3RyYW5zYWN0
aW9uLWFmdGVyLWNsb3NlJykKIHNlY29uZF9kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWN1cnJl
bnRUcmFuc2FjdGlvbiA9IHNlY29uZF9kYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkKK2N1cnJlbnRUcmFuc2FjdGlvbiA9IHNlY29uZF9kYi50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiByZXF1ZXN0
ID0gc3RvcmUucHV0KCcxJywgJzInKQogUEFTUyBmaW5hbCBwdXQgc3VjY2VzcwogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwKaW5kZXggMTNhZWU2MDhk
YjU4MWU5MjRkZjhiZjE3ZmMxZjhjMWE3OTkzNWM2MS4uMjAzNTliMTE2MmI3ZmNhZjkxMDY1MDcw
ZTYzZmU2MmQ5MmViMmIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sCkBAIC01Myw3ICs1Myw3IEBA
IGZ1bmN0aW9uIG9uUHV0U3VjY2VzcygpCiBmdW5jdGlvbiBydW5GaXJzdFJlZ3VsYXJUcmFuc2Fj
dGlvbigpDQogew0KICAgICBkZWJ1ZygicnVubmluZyBmaXJzdCB0cmFuc2FjdGlvbiIpDQotICAg
IGN1cnJlbnRUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImN1cnJlbnRUcmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KKyAg
ICBjdXJyZW50VHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Iik7DQogICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7DQogICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZmlyc3RUcmFuc2Fj
dGlvbkNvbXBsZXRlOw0KICAgICBvYmplY3RTdG9yZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZSgnc3RvcmUnKTsNCkBAIC02NCw3ICs2NCw3IEBAIGZ1bmN0aW9uIHJ1bkZpcnN0UmVn
dWxhclRyYW5zYWN0aW9uKCkKIGZ1bmN0aW9uIGZpcnN0VHJhbnNhY3Rpb25Db21wbGV0ZSgpDQog
ew0KICAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7DQotICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oImRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIiKTsNCisgICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5O
T1RfQUxMT1dFRF9FUlIiKTsNCiANCiAgICAgZGVidWcoIiIpDQogICAgIGRlYnVnKCJ2ZXJpZnkg
dGhhdCB3ZSBjYW4gcmVvcGVuIHRoZSBkYiBhZnRlciBjYWxsaW5nIGNsb3NlIikNCkBAIC03NSw3
ICs3NSw3IEBAIGZ1bmN0aW9uIGZpcnN0VHJhbnNhY3Rpb25Db21wbGV0ZSgpCiANCiBmdW5jdGlv
biBvblNlY29uZE9wZW4oKSB7DQogICAgIHNlY29uZF9kYiA9IGV2YWxBbmRMb2coInNlY29uZF9k
YiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsNCi0gICAgY3VycmVudFRyYW5zYWN0aW9uID0gZXZh
bEFuZExvZygiY3VycmVudFRyYW5zYWN0aW9uID0gc2Vjb25kX2RiLnRyYW5zYWN0aW9uKFtdLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KKyAgICBjdXJyZW50VHJhbnNhY3Rp
b24gPSBldmFsQW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBzZWNvbmRfZGIudHJhbnNhY3Rp
b24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBz
dG9yZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsNCiAgICAgcmVx
dWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBzdG9yZS5wdXQoJzEnLCAnMicpIik7DQogICAg
IHJlcXVlc3Qub25zdWNjZXNzID0gb25GaW5hbFB1dFN1Y2Nlc3M7DQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNh
bGxzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy1leHBlY3RlZC50eHQKaW5kZXggMzEzYzFhMTI1YWJh
MTVkODcyMTA4NzBjODQzZjVkMDA0M2U3MDkyZC4uODEyYmYwMzZjZWJhMDMxZTVjZTAyMmE3Y2Qx
ZGUxZDQ0NzczMzc2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2Fs
bHMtZXhwZWN0ZWQudHh0CkBAIC01NSw5ICs1NSwxMiBAQCBFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gdHJhbnMub2JqZWN0U3RvcmUoJ3gnKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBB
U1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCiAKLXRy
YW5zID0gZGIudHJhbnNhY3Rpb24oW10pCitQYXNzaW5nIGEgc3RyaW5nIGFzIHRoZSBmaXJzdCBh
cmd1bWVudCBpcyBhIHNob3J0Y3V0IGZvciBqdXN0IG9uZSBvYmplY3Qgc3RvcmU6Cit0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKCdhJykKIHRyYW5zLm9iamVjdFN0b3JlKCdhJykKLXRyYW5zLm9iamVj
dFN0b3JlKCdiJykKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSB0cmFucy5vYmplY3RTdG9yZSgn
YicpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSB0
cmFucy5vYmplY3RTdG9yZSgneCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBj
b2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKQEAgLTgwLDYg
KzgzLDIwIEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbJ2EnLCAn
eCcsICdiJ10pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtp
dElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKIAorRXhjZXB0aW9uIHRocm93biB3
aGVuIG5vIHN0b3JlcyBzcGVjaWZpZWQKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFu
c2FjdGlvbihbXSkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgRE9N
RXhjZXB0aW9uLklOVkFMSURfQUNDRVNTX0VSUgore30gY29lcmNlcyB0byBhIHN0cmluZworRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKHt9KQorUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1Rf
Rk9VTkRfRVJSCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oe21vZGU6
MH0pCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKK092ZXJyaWRpbmcgdGhlIGRlZmF1bHRzdHJp
bmcgY29lcmNpb24gbWFrZXMgdGhpcyB3b3JrCitkYi50cmFuc2FjdGlvbih7dG9TdHJpbmc6ZnVu
Y3Rpb24oKXtyZXR1cm4gJ2EnO319KQorCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0bWwK
aW5kZXggMDkzNWVmOTcxNDk4YjUzZTM2NmNmYjMxYzRkMTNiNTg5ZGNmMDZlMC4uYzgyMGIxNWE4
YzBjYjVkZDUyMmUwNmI4YzM3YjAxZWM0YmIzMzA2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVj
dHN0b3JlLWNhbGxzLmh0bWwKQEAgLTc1LDkgKzc1LDEwIEBAIGZ1bmN0aW9uIGNyZWF0ZWQoKQog
ICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInRyYW5zLm9iamVjdFN0b3JlKCd4JykiLCAid2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOwogICAgIGRlYnVnKCIiKTsK
IAotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSkiKTsK
KyAgICBkZWJ1ZygiUGFzc2luZyBhIHN0cmluZyBhcyB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYSBz
aG9ydGN1dCBmb3IganVzdCBvbmUgb2JqZWN0IHN0b3JlOiIpOworICAgIHRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbignYScpIik7CiAgICAgZXZhbEFuZExvZygidHJh
bnMub2JqZWN0U3RvcmUoJ2EnKSIpOwotICAgIGV2YWxBbmRMb2coInRyYW5zLm9iamVjdFN0b3Jl
KCdiJykiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJ0cmFucy5vYmplY3RTdG9yZSgn
YicpIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIiKTsKICAgICBl
dmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJ0cmFucy5vYmplY3RTdG9yZSgneCcpIiwgIndlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIiKTsKICAgICBkZWJ1ZygiIik7CiAKQEAg
LTkxLDYgKzkyLDE3IEBAIGZ1bmN0aW9uIGNyZWF0ZWQoKQogICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oImRiLnRyYW5zYWN0aW9uKFsnYScsICd4JywgJ2InXSkiLCAid2Via2l0SURCRGF0YWJh
c2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOwogICAgIGRlYnVnKCIiKTsKIAorICAgIGRlYnVn
KCJFeGNlcHRpb24gdGhyb3duIHdoZW4gbm8gc3RvcmVzIHNwZWNpZmllZCIpOworICAgIGV2YWxB
bmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKFtdKSIsICJET01FeGNlcHRpb24uSU5W
QUxJRF9BQ0NFU1NfRVJSIik7CisKKyAgICBkZWJ1Zygie30gY29lcmNlcyB0byBhIHN0cmluZyIp
OworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKHt9KSIsICJ3ZWJr
aXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CisgICAgZXZhbEFuZEV4cGVj
dEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oe21vZGU6MH0pIiwgIndlYmtpdElEQkRhdGFiYXNl
RXhjZXB0aW9uLk5PVF9GT1VORF9FUlIiKTsKKworICAgIGRlYnVnKCJPdmVycmlkaW5nIHRoZSBk
ZWZhdWx0c3RyaW5nIGNvZXJjaW9uIG1ha2VzIHRoaXMgd29yayIpOworICAgIGV2YWxBbmRMb2co
ImRiLnRyYW5zYWN0aW9uKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAnYSc7fX0pIik7CisK
KyAgICBkZWJ1ZygiIik7CiAgICAgZG9uZSgpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4
dAppbmRleCA1MjdjNTUzYThiZDRjYjhkOGFhNTkxOTIzZWU2YjIwYzkyN2I2YWJhLi4xODMzZDRl
OGI3YjIyODRhNmI2NGE2ZmI2ZTFiYjc5NTdjZTdiOTk4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3Rl
ZC50eHQKQEAgLTYzLDcgKzYzLDcgQEAgdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0CiBQQVNT
IHRyYW5zICE9PSBudWxsIGlzIHRydWUKIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKLWRiLnRyYW5zYWN0aW9uKHttb2Rl
OiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkKK2RiLnRyYW5zYWN0aW9uKFsnc3Rv
cmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBzdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogUEFTUyBzdG9yZS5uYW1lIGlzICJzdG9y
ZU5hbWUiCiBQQVNTIGNvbXBsZXRlIGV2ZW50IGZpcmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCmluZGV4IDBlNDlkYTEw
MzNjNGUzZDE5NzE5NGZhMGE5NGM5NWQ1MDc3OWNmYzcuLjc0ZGI2NjQ3YzdhMzg3N2I4OGFjOTIz
ODc2ZjRmZDhjOThhMjkxMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCkBAIC0yMDYsNyArMjA2LDcgQEAgZnVuY3Rp
b24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7DQog
DQogICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxs
KSIpOw0KLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKHttb2Rl
OiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsNCisgICAgdHJhbnNhY3Rpb24g
PSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFu
c2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gYWJvcnRD
YWxsYmFjazsNCiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsNCiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJzdG9yZS5uYW1lIiwgInN0b3JlTmFtZSIpOw0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0
LWV4cGVjdGVkLnR4dAppbmRleCBmNjBlYWEyZTNhYjdhOGI2M2EyMmI4NDM1NzYwZTBkOGQxY2Ji
YWQ0Li42ZDMzODIwYTcxMjNkODMxODZkYmRlNTg3ZmY2ODRiNzdhNWE4YjQ5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9y
dC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC04LDYgKzgsOCBAQCBQQVNTIHdl
YmtpdEluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiB3ZWJraXRJbmRleGVkREIub3BlbigndHJh
bnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQnKQogb3BlblN1Y2Nlc3MoKToKIGRiID0gZXZlbnQudGFy
Z2V0LnJlc3VsdAorZGIuc2V0VmVyc2lvbignMS4wJykKK2RiLmNyZWF0ZU9iamVjdFN0b3JlKCdm
b28nKQogZGIudHJhbnNhY3Rpb24oJ2ZvbycpCiB3aW5kb3cuZ2MoKQogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwKaW5kZXggNzVkMTIyYjFj
MWMyZWFmMmE5ZjMwNjY5NzZiODMyOGYwZmU0YzVjOS4uNmY5Y2ExNWJiZmZjZWI0ZWIwYjYwODAy
NzZiYTI3ZmI2NGFjYWQ0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1sCkBAIC0yOCw2ICsy
OCwxNCBAQCBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7CiAgICAgZGVidWcoIm9wZW5TdWNjZXNz
KCk6Iik7CiAgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
KyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMS4wJykiKTsKKyAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb25TdWNjZXNzOworICAgIHJlcXVlc3Qub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBzZXRWZXJzaW9uU3Vj
Y2VzcygpCit7CisgICAgZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZvbycpIik7
CiAgICAgZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oJ2ZvbycpIik7CiAgICAgZXZhbEFuZExv
Zygid2luZG93LmdjKCkiKTsKICAgICBkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9w
YWdhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNWY4NWM4MWQwYTYwNzIxYmQ2N2EzMmUyYjJkMzM3
YmVhNzc2ZGRjYy4uZDQyMDYxYTBkYzZlN2FjNWQ3NDQ5ZmU0MGRkNWUyOTdhZGI2NTQ0NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQt
cHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTMsNyAr
MTMsNyBAQCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5jcmVhdGVPYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6
eid9LCAna2V5JykKIFZlcmlmaW5nIGFib3J0Ci10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihb
J3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25h
Ym9ydCA9IGFib3J0RmlyZWRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRB
Ym9ydENhbGxiYWNrCiBkYi5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRiQWJvcnRDYXB0dXJl
Q2FsbGJhY2ssIHRydWUpCkBAIC00NSw3ICs0NSw3IEBAIFBBU1MgZXZlbnQudGFyZ2V0IGlzIHRy
YW5zCiBQQVNTIGV2ZW50LmN1cnJlbnRUYXJnZXQgaXMgZGIKIAogVmVyaWZpbmcgc3VjY2Vzcy4K
LXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmNvbXBsZXRlID0gY29tcGxldGVGaXJlZENhbGxi
YWNrCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sKIGRiLnJlbW92ZUV2
ZW50TGlzdGVuZXIoJ2Fib3J0JywgZGJBYm9ydENhcHR1cmVDYWxsYmFjaywgdHJ1ZSkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXBy
b3BhZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCmluZGV4IDE1YzI3NWM1MDlhMjZmMWEwMTU1OTUzZTIy
YTViZDA4YTZkYjM3MjAuLjk0MWFjNTJlM2ZkMzI3ZGJmNDY1MjU0ODIwNGE5ZTk5NzgxNjNkNmMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2
ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbApAQCAtNDcsNyArNDcsNyBAQCBmdW5j
dGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewogICAgIGRlYnVn
KCJWZXJpZmluZyBhYm9ydCIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFu
cy5vbmFib3J0ID0gYWJvcnRGaXJlZENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMu
b25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygi
ZGIuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBkYkFib3J0Q2FwdHVyZUNhbGxiYWNrLCB0cnVl
KSIpOwpAQCAtOTcsNyArOTcsNyBAQCBmdW5jdGlvbiBkYkFib3J0QnViYmxlQ2FsbGJhY2soKQog
ICAgIGRiQnViYmxlRmlyZWQxID0gdHJ1ZTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlZl
cmlmaW5nIHN1Y2Nlc3MuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRy
YW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5z
Lm9uY29tcGxldGUgPSBjb21wbGV0ZUZpcmVkQ2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0
cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9n
KCJkYi5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRiQWJvcnRDYXB0dXJlQ2FsbGJhY2ss
IHRydWUpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90dXRv
cmlhbC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbApp
bmRleCA4YjI4OTg3MmM4YjE1NGVmYTkzZDdmMjAzMjY1M2RiZWY4YzUzZGE3Li43ZjM2OTAyNGQ0
YTY0M2IyNDBlNDRkM2UwOTM5YTBmZTBjYzA1NGJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwKQEAgLTIxMSwxNSArMjExLDE0IEBAIGZ1bmN0aW9uIG9u
U2V0VmVyc2lvbkNvbXBsZXRlKCkKICAgICAvLyBjcmVhdGVPYmplY3RTdG9yZSwgdHJhbnNhY3Rp
b24gb3B0aW9uYWxseSB0YWtlcyBpbiB2YXJpb3VzIG9wdGlvbmFsIHBhcmFtZXRlcnMuCiAgICAg
Ly8KICAgICAvLyBGaXJzdCBvZiBhbGwgaXMgdGhlIHBhcmFtZXRlciAib2JqZWN0U3RvcmVOYW1l
cyIuIElmIHlvdSBwYXNzIGluIGEgc3RyaW5nLCB3ZSBsb2NrIGp1c3QgdGhhdAotICAgIC8vIG9i
amVjdFN0b3JlLiAgSWYgeW91IHBhc3MgaW4gYW4gYXJyYXksIHdlIGxvY2sgdGhvc2UuIE90aGVy
d2lzZSAoZm9yIGV4YW1wbGUsIGlmIHlvdSBvbWl0IGl0Ci0gICAgLy8gb3IgcGFzcyBpbiBudWxs
L3VuZGVmaW5lZCkgd2UgbG9jayB0aGUgd2hvbGUgZGF0YWJhc2UuIEJ5IHNwZWNpZnlpbmcgbG9j
a3Mgb3ZlciBmZXdlcgorICAgIC8vIG9iamVjdFN0b3JlLiAgSWYgeW91IHBhc3MgaW4gYW4gYXJy
YXksIHdlIGxvY2sgdGhvc2UuIEJ5IHNwZWNpZnlpbmcgbG9ja3Mgb3ZlciBmZXdlcgogICAgIC8v
IG9iamVjdFN0b3JlcyB5b3UgbWFrZSBpdCBwb3NzaWJsZSBmb3IgYnJvd3NlcnMgdG8gcnVuIHRy
YW5zYWN0aW9ucyBjb25jdXJyZW50bHkuIFRoYXQgc2FpZCwKICAgICAvLyBDaHJvbWl1bS9XZWJL
aXQgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIHlldC4KICAgICAvLwogICAgIC8vIE5leHQgaXMgIm1v
ZGUiIHdoaWNoIHNwZWNpZmllcyB0aGUgbG9ja2luZyBtb2RlLiBUaGUgZGVmYXVsdCBpcyBSRUFE
X09OTFkgKGkuZS4gYSBzaGFyZWQgbG9jaykuCiAgICAgLy8gVGhhdCdzIGZpbmUgZm9yIHRoaXMg
Y2FzZSwgYnV0IGxhdGVyIHdlJ2xsIGFzayBmb3IgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURS4g
QXQgdGhlIG1vbWVudCwKICAgICAvLyBDaHJvbWl1bS9XZWJLaXQgcHJldGVuZHMgZXZlcnkgdHJh
bnNhY3Rpb24gaXMgUkVBRF9XUklURSwgd2hpY2ggaXMga2luZCBvZiBiYWQuCi0gICAgd2luZG93
LmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCBJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKTsKKyAgICB3aW5kb3cuY3VycmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oInBlb3BsZSIsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpOwogICAgIGN1cnJlbnRUcmFu
c2FjdGlvbi5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlOwogICAgIGN1cnJlbnRUcmFu
c2FjdGlvbi5vbmFib3J0ID0gb25UcmFuc2FjdGlvbkFib3J0ZWQ7CiAKQEAgLTI2NiwxMCArMjY1
LDggQEAgZnVuY3Rpb24gdW5leHBlY3RlZENvbXBsZXRlKCkKIAogZnVuY3Rpb24gb25UcmFuc2Fj
dGlvbkFib3J0ZWQoKQogewotICAgIC8vIE5vdyBsZXQncyBtYWtlIGEgcmVhbCB0cmFuc2FjdGlv
biBhbmQgYSBwZXJzb24gdG8gb3VyIG9iamVjdFN0b3JlLiBKdXN0IHRvIHNob3cgaXQncyBwb3Nz
aWJsZSwKLSAgICAvLyB3ZSdsbCBvbWl0IHRoZSBvYmplY3RTdG9yZU5hbWVzIHBhcmFtZXRlciB3
aGljaCBtZWFucyB3ZSdsbCBsb2NrIGV2ZXJ5dGhpbmcgZXZlbiB0aG91Z2ggd2Ugb25seQotICAg
IC8vIGV2ZXIgYWNjZXNzICJwZW9wbGUiLgotICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbihbXSwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSk7CisgICAgLy8g
Tm93IGxldCdzIG1ha2UgYSByZWFsIHRyYW5zYWN0aW9uIGFuZCBhIHBlcnNvbiB0byBvdXIgb2Jq
ZWN0U3RvcmUuCisgICAgd2luZG93LmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9u
KCJwZW9wbGUiLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKTsKICAgICBjdXJyZW50VHJhbnNh
Y3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydDsKIAogICAgIHZhciBwZW9wbGUgPSBjdXJy
ZW50VHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoInBlb3BsZSIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MTNh
MDY1ZWQ0MGFkYjY1NDQ2NDE0NjE3MjQ4YmVjYTA5ZGI5NmEuLmRhMjlkOWJlN2FiZDkwZjI0NzEx
MzRhYWUxYzJmZWJiOTJjZWUwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMS0x
MC0xOCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4
ZWREQjogUGFzc2luZyBlbXB0eSBhcnJheSB0byBJREJEYXRhYmFzZS50cmFuc2FjdGlvbiBzaG91
bGQgcmFpc2UgZXhjZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIElEQkRhdGFiYXNlLnRyYW5zYWN0aW9uKCkgc3VwcG9ydGVkIGJlaW5nIGNhbGxl
ZCB3aXRoIGFuIGVtcHR5IGFycmF5IHRvCisgICAgICAgIGxvY2sgYWxsIG9iamVjdCBzdG9yZXMu
IFN1cHBvcnQgZm9yIHRoaXMgd2FzIHJlamVjdGVkIGZyb20gaW5jbHVzaW9uIGluCisgICAgICAg
IHRoZSBJREIgc3BlYyBkdWUgdG8gcGVyZm9ybWFuY2UgY29uY2VybnMuIFRoaXMgcGF0Y2ggcmVt
b3ZlcyB0aGF0CisgICAgICAgIGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgQSBzcGVjaWFsIGNh
c2UgaW4gdGhlIHNwZWMgKHBhc3NpbmcgYSBzdHJpbmcgaW5zdGVhZCBvZiBhbiBhcnJheSkgd29y
a2VkCisgICAgICAgIGluIFdlYktpdCBhY2NpZGVudGFsbHksIGJ5IHJlc29sdmluZyB0aGUgc3Ry
aW5nIHRvIGFuIGVtcHR5IGFycmF5LiBUaGlzCisgICAgICAgIG5lZWRlZCBleHBsaWNpdCBzdXBw
b3J0LCBhbmQgY3VzdG9tIGJpbmRpbmcgdG8gZW5zdXJlIGEgcGFzc2VkIGFycmF5IG9mCisgICAg
ICAgIHN0cmluZ3MgaXMgY29lcmNlZCBjb3JyZWN0bHkgdG8gYSBET01TdHJpbmdMaXN0IGFuZCBu
b3QgYSBzaW5nbGUgc3RyaW5nLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQkRhdGFiYXNlQ3VzdG9tLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpWOElEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbkNhbGxiYWNrKToKKyAgICAg
ICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFi
YXNlOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFnZS9JREJEYXRhYmFzZS5oOgorICAg
ICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbXBsOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6Om9iamVjdFN0b3JlKToKKwogMjAxMS0xMC0x
NCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQXR0ZW1wdGVkIExl
b3BhcmQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDYxNjU5ZTEwYzU5NTY0MDliZWY2
YThiN2RiZTZmNmVkODYxYTg3MTYuLmM4NTI4ODVmODc0YmY0NDY0NWQ0ZjRkMDRjNTllMjZmODZl
OGMzY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIxOTcsNiArMjE5Nyw3IEBACiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uaCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SGlzdG9yeUN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQkFueUN1c3RvbS5jcHAnLAorICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQkRhdGFiYXNlQ3VzdG9tLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW1hZ2VEYXRhQ3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcCcsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJEYXRhYmFz
ZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJEYXRh
YmFzZUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmI3MjdlNWQzMWMyY2M2NzY1NzlmZDFmOTA4YWI4
MGU5OTRlOGViMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOElEQkRhdGFiYXNlQ3VzdG9tLmNwcApAQCAtMCwwICsxLDgwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJW
OElEQkRhdGFiYXNlLmgiCisKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAi
SURCRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJJREJUcmFuc2FjdGlvbi5oIgorI2luY2x1ZGUgIlY4
QmluZGluZy5oIgorI2luY2x1ZGUgIlY4QmluZGluZ01hY3Jvcy5oIgorI2luY2x1ZGUgIlY4SURC
VHJhbnNhY3Rpb24uaCIKKwordXNpbmcgbmFtZXNwYWNlIFdURjsKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb25D
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9N
LklEQkRhdGFiYXNlLnRyYW5zYWN0aW9uKCkiKTsKKworICAgIGlmIChhcmdzLkxlbmd0aCgpIDwg
MSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgVjhQ
cm94eTo6VHlwZUVycm9yKTsKKworICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiBzdG9yZU5hbWVz
ID0gdjhWYWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3QoYXJnc1swXSk7CisgICAgaWYgKCFzdG9y
ZU5hbWVzKSB7CisgICAgICAgIHN0b3JlTmFtZXMgPSBET01TdHJpbmdMaXN0OjpjcmVhdGUoKTsK
KyAgICAgICAgc3RvcmVOYW1lcy0+YXBwZW5kKHY4VmFsdWVUb1dlYkNvcmVTdHJpbmcoYXJnc1sw
XSkpOworICAgIH0KKworICAgIHVuc2lnbmVkIHNob3J0IG1vZGUgPSBJREJUcmFuc2FjdGlvbjo6
UkVBRF9PTkxZOworICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMSkKKyAgICAgICAgbW9kZSA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkIHNob3J0Pih0b0ludDMyKGFyZ3NbMV0pKTsKKworICAgIElEQkRh
dGFiYXNlKiBkYXRhYmFzZSA9IFY4SURCRGF0YWJhc2U6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkp
OworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRTY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0KQorICAgICAgICByZXR1cm4gdjg6OlVuZGVm
aW5lZCgpOworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgUmVmUHRyPElEQlRyYW5z
YWN0aW9uPiB0cmFuc2FjdGlvbiA9IGRhdGFiYXNlLT50cmFuc2FjdGlvbihjb250ZXh0LCBzdG9y
ZU5hbWVzLCBtb2RlLCBlYyk7CisgICAgaWYgKGVjKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJv
cihlYyk7CisKKyAgICByZXR1cm4gdG9WOCh0cmFuc2FjdGlvbi5nZXQoKSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJh
c2UuY3BwCmluZGV4IDdjOTlkOTc5YWM4ZjM5NmI3ZjdlOGIxZjkzYjJjNjg4ZWNkNjRjMjYuLjAx
Y2IzMzA0NTU3NGNjYTkwYTg4OWM5NmRmNGFiZWViOTNmYjQyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCRGF0YWJhc2UuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiSURCRGF0
YWJhc2UuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29k
ZS5oIgogI2luY2x1ZGUgIkV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJJREJBbnkuaCIKICNpbmNs
dWRlICJJREJEYXRhYmFzZUNhbGxiYWNrc0ltcGwuaCIKQEAgLTEyNCw4ICsxMjUsMTAgQEAgUGFz
c1JlZlB0cjxJREJWZXJzaW9uQ2hhbmdlUmVxdWVzdD4gSURCRGF0YWJhc2U6OnNldFZlcnNpb24o
U2NyaXB0RXhlY3V0aW9uQ29udGUKIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElEQkRhdGFi
YXNlOjp0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVm
UHRyPERPTVN0cmluZ0xpc3Q+IHBycFN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiBzdG9yZU5hbWVz
ID0gcHJwU3RvcmVOYW1lczsKLSAgICBpZiAoIXN0b3JlTmFtZXMpCi0gICAgICAgIHN0b3JlTmFt
ZXMgPSBET01TdHJpbmdMaXN0OjpjcmVhdGUoKTsKKyAgICBpZiAoIXN0b3JlTmFtZXMgfHwgc3Rv
cmVOYW1lcy0+aXNFbXB0eSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwor
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAKICAgICBpZiAobW9kZSAhPSBJREJUcmFuc2FjdGlv
bjo6UkVBRF9XUklURSAmJiBtb2RlICE9IElEQlRyYW5zYWN0aW9uOjpSRUFEX09OTFkpIHsKICAg
ICAgICAgLy8gRklYTUU6IE1heSBuZWVkIHRvIGNoYW5nZSB3aGVuIHNwZWNjZWQ6IGh0dHA6Ly93
d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3dfYnVnLmNnaT9pZD0xMTQwNgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJEYXRhYmFzZS5oCmluZGV4IDlkNDg4M2UwNzQyYTdiNWFiMjUyNDAxM2ZlMWViZDk1
NWY0OTE5ZmEuLjA3Yzg0YTExNmRmNzllNmEwNmJmNWNlMmRiMzNjOTZiM2U4NDM5N2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmgKQEAgLTYxLDggKzYxLDggQEAgcHVibGljOgog
CiAgICAgLy8gRklYTUU6IFRyeSB0byBtb2RpZnkgdGhlIGNvZGUgZ2VuZXJhdG9yIHNvIHRoaXMg
aXMgdW5uZWVkZWQuCiAgICAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gY3JlYXRlT2JqZWN0
U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gY3Jl
YXRlT2JqZWN0U3RvcmUobmFtZSwgT3B0aW9uc09iamVjdCgpLCBlYyk7IH0KLSAgICBQYXNzUmVm
UHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gdHJhbnNhY3Rpb24oY29udGV4dCwg
MCwgZWMpOyB9Ci0gICAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBz
dG9yZU5hbWVzLCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gdHJhbnNhY3Rpb24oY29udGV4
dCwgc3RvcmVOYW1lcywgSURCVHJhbnNhY3Rpb246OlJFQURfT05MWSwgZWMpOyB9CisKKyAgICAv
LyBGSVhNRTogVHJ5IHRvIG1vZGlmeSB0aGUgY29kZSBnZW5lcmF0b3Igc28gY3VzdG9tIGJpbmRp
bmcgaXMgbm90IG5lZWRlZAogICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+LCB1
bnNpZ25lZCBzaG9ydCBtb2RlLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBQYXNzUmVmUHRyPElE
Qk9iamVjdFN0b3JlPiBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IE9wdGlvbnNPYmplY3QmLCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
RGF0YWJhc2UuaWRsCmluZGV4IDgyZjY0MzU2NGRhMWZmNDYzY2U5MWVjODdmODhiNjBkYWRmYmU0
ZjQuLmUzZTY3ZWI2OGVhYWMwYWYyM2Y3ZGRlZGJjY2IyN2RhZDY2OTY5YWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRsCkBAIC00MSwxMiArNDEsMjAgQEAgbW9kdWxlIHN0
b3JhZ2UgewogCiAgICAgICAgIElEQk9iamVjdFN0b3JlIGNyZWF0ZU9iamVjdFN0b3JlKGluIERP
TVN0cmluZyBuYW1lLCBpbiBbT3B0aW9uYWxdIE9wdGlvbnNPYmplY3Qgb3B0aW9ucykKICAgICAg
ICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOworCiAgICAgICAgIHZvaWQgZGVs
ZXRlT2JqZWN0U3RvcmUoaW4gRE9NU3RyaW5nIG5hbWUpCiAgICAgICAgICAgICByYWlzZXMgKElE
QkRhdGFiYXNlRXhjZXB0aW9uKTsKKwogICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9u
Q29udGV4dF0gSURCVmVyc2lvbkNoYW5nZVJlcXVlc3Qgc2V0VmVyc2lvbihpbiBET01TdHJpbmcg
dmVyc2lvbikKICAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOwotICAg
ICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURCVHJhbnNhY3Rpb24gdHJh
bnNhY3Rpb24oaW4gRE9NU3RyaW5nTGlzdCBzdG9yZU5hbWVzLCBpbiBbT3B0aW9uYWxdIHVuc2ln
bmVkIHNob3J0IG1vZGUpCisgICAgICAgIAorICAgICAgICAvLyBGSVhNRTogSW1wcm92ZSBjb2Rl
IGdlbmVyYXRvciBzbyB0aGlzIGRvZXNuJ3QgbmVlZCB0byBiZSBDdXN0b20uCisgICAgICAgIC8v
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2Fj
dGlvbihpbiBET01TdHJpbmdMaXN0IHN0b3JlTmFtZXMsIGluIFtPcHRpb25hbF0gdW5zaWduZWQg
c2hvcnQgbW9kZSkgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CisgICAgICAgIC8vIFtD
YWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlv
bihpbiBET01TdHJpbmdbXSBzdG9yZU5hbWUsIGluIFtPcHRpb25hbF0gdW5zaWduZWQgc2hvcnQg
bW9kZSkgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CisgICAgICAgIC8vIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbihpbiBE
T01TdHJpbmcgc3RvcmVOYW1lLCBpbiBbT3B0aW9uYWxdIHVuc2lnbmVkIHNob3J0IG1vZGUpIHJh
aXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOworICAgICAgICBbQ3VzdG9tXSBJREJUcmFuc2Fj
dGlvbiB0cmFuc2FjdGlvbihpbiBET01TdHJpbmdMaXN0IHN0b3JlTmFtZXMsIGluIFtPcHRpb25h
bF0gdW5zaWduZWQgc2hvcnQgbW9kZSkKICAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VF
eGNlcHRpb24pOworCiAgICAgICAgIHZvaWQgY2xvc2UoKTsKIAogICAgICAgICAvLyBFdmVudFRh
cmdldCBpbnRlcmZhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5z
YWN0aW9uQmFja2VuZEltcGwuY3BwCmluZGV4IDAxNWRhMThkNjlhODI4YzU1NzE3OWEwZmMxYWYw
YzEyOTMzNjJiZWYuLjhhMTIyNjRhYzc2MDkzYTEyMWI5ZGRiYzMxODNmYjA5MTYxOGUwYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJ
bXBsLmNwcApAQCAtNTIsNiArNTIsNyBAQCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbXBsKERPTVN0cmluZ0xpc3QqIG9iamVjdFN0b3JlcwogICAgICwg
bV9wZW5kaW5nRXZlbnRzKDApCiB7CiAgICAgQVNTRVJUKG1fb2JqZWN0U3RvcmVOYW1lcyk7Cisg
ICAgQVNTRVJUKG1fbW9kZSA9PSBJREJUcmFuc2FjdGlvbjo6VkVSU0lPTl9DSEFOR0UgfHwgIW1f
b2JqZWN0U3RvcmVOYW1lcy0+aXNFbXB0eSgpKTsKICAgICBtX2RhdGFiYXNlLT50cmFuc2FjdGlv
bkNvb3JkaW5hdG9yKCktPmRpZENyZWF0ZVRyYW5zYWN0aW9uKHRoaXMpOwogfQogCkBAIC02OSw3
ICs3MCw3IEBAIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpvYmplY3RTdG9yCiAgICAgfQogCiAgICAgLy8gRG9lcyBh
IGxpbmVhciBzZWFyY2gsIGJ1dCBpdCByZWFsbHkgc2hvdWxkbid0IGJlIHRoYXQgc2xvdyBpbiBw
cmFjdGljZS4KLSAgICBpZiAoIW1fb2JqZWN0U3RvcmVOYW1lcy0+aXNFbXB0eSgpICYmICFtX29i
amVjdFN0b3JlTmFtZXMtPmNvbnRhaW5zKG5hbWUpKSB7CisgICAgaWYgKG1fbW9kZSAhPSBJREJU
cmFuc2FjdGlvbjo6VkVSU0lPTl9DSEFOR0UgJiYgIW1fb2JqZWN0U3RvcmVOYW1lcy0+Y29udGFp
bnMobmFtZSkpIHsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0ZPVU5E
X0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111823</attachid>
            <date>2011-10-20 12:17:20 -0700</date>
            <delta_ts>2011-10-20 15:43:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70251-20111020121719.patch</filename>
            <type>text/plain</type>
            <size>70485</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0ODgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2OWE1YWIwYzcxODE4ZTExMmE3NDNh
ZTY1M2U2Y2UzOTIwMTI4MThkLi5hYWVmNzBhYmRhY2NmMjVkMzE2MTFmZGI4NGI0OWIwZWZkN2M4
NGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTEtMTAtMjAgIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFBhc3NpbmcgZW1wdHkgYXJy
YXkgdG8gSURCRGF0YWJhc2UudHJhbnNhY3Rpb24gc2hvdWxkIHJhaXNlIGV4Y2VwdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW55IHRlc3RzIHJl
bGllZCBvbiB0aGUgbm9uLXNwZWNpZmllZCBiZWhhdmlvciBvZiBwYXNzaW5nIGFuIGVtcHR5Cisg
ICAgICAgIGFycmF5IGludG8gSURCRGF0YWJhc2UudHJhbnNhY3Rpb24oKSB0byBpbmNsdWRlIGFs
bCBvYmplY3Qgc3RvcmVzIGluCisgICAgICAgIHNjb3Blcy4gV29yc2UsIG5vbi1hcnJheXMgd291
bGQgYmUgdHJlYXRlZCBhcyBlbXB0eSBhcnJheXMsIGFuZCBoZW5jZQorICAgICAgICAianVzdCB3
b3JrZWQiLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUt
b2JqZWN0LXN0b3JlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9j
cmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0
ZWQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnkt
ZGVmYXVsdC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1l
dmVudC1hYm9ydHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2V4
Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9pbmRleC11bmlxdWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L2luZGV4LXVuaXF1ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5n
LWN1cnNvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRp
bmctY3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YXV0b2luY3JlbWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY2xlYXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1w
cm9wYWdhdGlvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFib3J0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24uaHRtbDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9z
ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmpl
Y3RzdG9yZS1jYWxscy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdh
dGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5odG1sOgorCiAyMDExLTEwLTE0ICBEaW1pdHJpIEds
YXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVcGRh
dGUgZXhwZWN0YXRpb25zIGFmdGVyIHI5NzQ4MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmpl
Y3Qtc3RvcmUtZXhwZWN0ZWQudHh0CmluZGV4IDUyOGJhODllOTVhZjA3ZThjOGY0OGQ2MzhhZjRj
MjQ4ODUxOGY2MDQuLmMzNDExYWMxNTE1NzRhYWRjNzg2MTk5M2RhMTdmNTkwZDllNWI2YWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3Zl
LW9iamVjdC1zdG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLWV4cGVjdGVkLnR4dApAQCAtMjgs
NyArMjgsNyBAQCBkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykKIEV4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0
aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQ09OU1RSQUlO
VF9FUlIKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEV9KQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3RtcCddKQogdHJhbnMub2Jq
ZWN0U3RvcmUoJ3RtcCcpLmdldCgwKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIHVuZGVm
aW5lZC4KIFRyeWluZyBjcmVhdGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKaW5k
ZXggNDNjMWZlMWYxYTlhMmMxZDdkZGExOGExZjM5OTUyMGU3MWU4YzgxYS4uMDRkZmY2NTRlYWQw
NjliYWNlNGZjMWFkNjk4NmIxODgyZjEwYjBhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0
b3JlLmh0bWwKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiAgICAg
b3MgPSBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykiKTsKICAgICBldmFs
QW5kRXhwZWN0RXhjZXB0aW9uKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykiLCAid2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb24uQ09OU1RSQUlOVF9FUlIiKTsKIAotICAgIHRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURX0pIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFsndG1wJ10pIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInRyYW5zLm9i
amVjdFN0b3JlKCd0bXAnKS5nZXQoMCkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHRyeU9u
Y2VNb3JlOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1z
dG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggNWYwZTk0ZGZi
NjAyZGY0YTcyZWEyM2M1MWU2NmExNjQwZjUwYWYwNy4uMTY1Yzg5ZmY4NjRmN2QzY2E5NGJmNjli
OTY3MGE5MTVlZmQ1NWI4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMtZXhwZWN0
ZWQudHh0CkBAIC0xMiw3ICsxMiw3IEBAIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnYScsIHtrZXlQYXRoOiAnYSd9KQogZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ2InKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2MnLCB7YXV0b0luY3JlbWVudDogdHJ1ZX0p
OwotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydhJywgJ2InXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkKIFBBU1MgdHJhbnMubW9kZSBpcyB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFCiB0cmFucy5vYmplY3RTdG9yZSgnYScpLnB1dCh7J2EnOiAwfSkKIHRyYW5z
Lm9iamVjdFN0b3JlKCdiJykucHV0KHsnYSc6IDB9LCAwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMu
aHRtbAppbmRleCBiZjYwMGQ3YTllZTNjMDhjMTRjZDE0ZGJkYWVmMWMzOTJjMTg5ZDVmLi5iOWJl
Y2YzOTM5NzY4MTNiNmZiZjM4NzQ0OWVjY2Y4ZDM4NTMxNDVkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9w
dGlvbnMuaHRtbApAQCAtNDMsNyArNDMsNyBAQCBmdW5jdGlvbiBjbGVhbkRhdGFiYXNlKCkKICAg
ICBkZWJ1ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2MnLCB7YXV0b0luY3JlbWVudDogdHJ1ZX0p
OyIpOwogICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdjJywge2F1dG9JbmNyZW1lbnQ6IHRydWV9
KTsKIAotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydhJywgJ2InXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKICAgICBzaG91bGRCZSgidHJhbnMubW9kZSIsICJ3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFIik7CiAKICAgICByZXEgPSBldmFsQW5kTG9nKCJ0cmFucy5v
YmplY3RTdG9yZSgnYScpLnB1dCh7J2EnOiAwfSkiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVk
LnR4dAppbmRleCAxMWNjMjkyMTJhNjE4NTFlOTU4MDE2ZmIyZDc3ZDA1NDNlZTcxOTVkLi5iYWNk
NDFkMDMzZGYwYzM3Njk5ZWQ4Mjg0NDExMWEzZGIwY2E1NThiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3kt
ZXhwZWN0ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIG9iamVjdFN0b3JlLmFkZCgnc29tZVZhbHVl
MicsICdzb21lS2V5MicpLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb2JqZWN0
U3RvcmUuYWRkKCdzb21lVmFsdWUzJywgJ3NvbWVLZXkzJykub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoJ3NvbWVWYWx1ZTQnLCAnc29tZUtleTQnKS5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2sKIG9wZW5CYXNpY0N1cnNvcigpCi10cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ2Jhc2ljU3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKIHRyYW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJykKIG9iamVjdFN0
b3JlLm9wZW5DdXJzb3Ioa2V5UmFuZ2UpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5odG1sCmluZGV4IGI5Y2NiNThiMmRj
OTlhMDQxMjYxMGYyOGI5NTkxMzM2YWY0ZjZjZGYuLjBkODU4M2E1NjVjMDUxMjE0ODkyODFhOGNl
MTU1ODkzMDE5NWQ2ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbApAQCAtNTMsNyArNTMsNyBAQCBmdW5jdGlv
biBzZXRWZXJzaW9uU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogewogICAg
IGRlYnVnKCJvcGVuQmFzaWNDdXJzb3IoKSIpOwotICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAg
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ2Jhc2ljU3RvcmUnXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBl
Y3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29t
cGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1za2lwLWRlbGV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQKaW5kZXggMzE3YzkyNWE3NDcxY2Rl
YWM4ODE4YmJkMzAxZWNkYTA0NjdjZmJkMS4uZTEyOWFkOTFkNmEwNDExZGNjOTQ3Y2NiYzE3OTFm
N2VmZTcxN2RhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQKQEAgLTE2LDcgKzE2LDcg
QEAgb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ25hbWVJbmRleCcsICduYW1lJykKIHJlc2V0T2Jq
ZWN0U3RvcmUoKToKIAogYmFzaWNDdXJzb3JUZXN0KCkKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24o
W10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIAogdGVzdEN1
cnNvcigpOgogdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykub3BlbkN1cnNvcih3ZWJraXRJREJL
ZXlSYW5nZS5sb3dlckJvdW5kKDApKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sCmluZGV4IGEzYmIwZDk1ZWVhYTIyNzU2
NjhiYzlmMWE0MzUyMGVkNjkxYzM0ZTguLjA0MTMwZmVkZGIzYThlMjBhMDlhMzEzMWFmMGYzM2Fi
YzU3OGM4OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1za2lwLWRlbGV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKQEAgLTE0Niw3ICsxNDYsNyBAQCBmdW5jdGlvbiBiYXNp
Y0N1cnNvclRlc3QoKQogewogICAgIGRlYnVnKCJiYXNpY0N1cnNvclRlc3QoKSIpOwogCi0gICAg
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFu
cy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0
ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQKaW5kZXggOTU1YmNmOTE4
ZWRlZDQ4YmQxMWJmYWFlNGE0ZGFiOTZhYjUzZDcyZC4uNGFlYmQ1NDZlMDc1OTVjMWFjMDZiOWE4
NDE0ZTcwMjRiMGY2M2EwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTI3LDcgKzI3LDcgQEAgb2Jq
ZWN0U3RvcmUuYWRkKHtudW1iZXI6IDIsIGlkOiAyfSkub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoe251bWJlcjogMywgaWQ6IDN9KS5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2sKIG9iamVjdFN0b3JlLmFkZCh7bnVtYmVyOiA0LCBpZDog
NH0pLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb3BlbkJhc2ljQ3Vyc29yKCkK
LXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnYmFzaWNTdG9yZScsICdhdXRvSW5jcmVtZW50
U3RvcmUnLCAna2V5UGF0aFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
CiB0cmFucy5vYmplY3RTdG9yZSgnYmFzaWNTdG9yZScpCiBvYmplY3RTdG9yZS5vcGVuQ3Vyc29y
KGtleVJhbmdlKQogYmFzaWNVcGRhdGVDdXJzb3IoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCmluZGV4IDc4M2E4OGMwMTdlYzQ1OTU0MzYz
OTVjNTgwNzg0NDRhYTg0ZDQ3MzEuLmZkOTcyOTQ2OTFjZTk2MzY0YmQwMzg4ODMzZTI2OTEyYWYx
NWU4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11
cGRhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBk
YXRlLmh0bWwKQEAgLTY1LDcgKzY1LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQog
ZnVuY3Rpb24gb3BlbkJhc2ljQ3Vyc29yKCkKIHsKICAgICBkZWJ1Zygib3BlbkJhc2ljQ3Vyc29y
KCkiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oWydiYXNpY1N0b3JlJywgJ2F1dG9JbmNyZW1lbnRTdG9yZScsICdrZXlQYXRo
U3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5v
bmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9
IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGEwMmI1NGMy
ZTE4MDk2MzExZWFlZTcyYzk4OTE1YjNiZWQ4Y2MyZDMuLjMxYjE0YThmNjk0MThjNGY5MDZjNWQ0
NTQ2MzdiMWYzM2Q4NDY0YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2RhdGEtY29ycnVwdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTMsMTAgKzEzLDEw
IEBAIFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jl
cy4KIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogYWRkRGF0YSgpOgotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykuYWRkKHt4OiB0ZXN0RGF0ZX0sICdrZXknKQogYWRkRGF0YSgpOgotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9P
TkxZKQordHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX09OTFkpCiByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC54LnRv
U3RyaW5nKCkgPT0gdGVzdERhdGUudG9TdHJpbmcoKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9kYXRhLWNvcnJ1cHRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Rh
dGEtY29ycnVwdGlvbi5odG1sCmluZGV4IGVhNzkyOGIxOGJmODViZWZlM2I0ODI2Nzg4ZjQ2ZjVh
NGY4MmMwYTMuLjBhZGIyMzVlNWJmOGRmNmJlMGYyMDY1N2YzN2QyNTY3OGQzNDkyOWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1s
CkBAIC00OSw3ICs0OSw3IEBAIHZhciB0ZXN0RGF0ZSA9IG5ldyBEYXRlKCdGZWJydWFyeSAyNCwg
MTk1NSAxMjowMDowOCcpOwogZnVuY3Rpb24gYWRkRGF0YSgpCiB7CiAgICAgZGVidWcoImFkZERh
dGEoKToiKTsKLSAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwor
ICAgIHZhciB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsK
ICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJykuYWRkKHt4OiB0ZXN0RGF0ZX0sICdrZXknKSIpOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHRyYW5zYWN0aW9u
Lm9uY29tcGxldGUgPSBnZXREYXRhOwpAQCAtNTgsNyArNTgsNyBAQCBmdW5jdGlvbiBhZGREYXRh
KCkKIGZ1bmN0aW9uIGdldERhdGEoKQogewogICAgIGRlYnVnKCJhZGREYXRhKCk6Iik7Ci0gICAg
dmFyIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKSIpOworICAgIHZhciB0cmFuc2Fj
dGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5h
bWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKSIpOwogICAgIHZhciByZXF1ZXN0
ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKS5nZXQoJ2tleScpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkb0NoZWNrOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKaW5kZXggMmU2MjJm
MDQ1NThlY2E3ZTBmMGVhNzU3NDFiNGRlMWNmNDVmOGI4Yi4uN2FkMGM0ODI2OWY4YTAzMjA0MWE4
ZWNhNTJjOThmY2YwNDEzMTY3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCkBAIC02MSw3ICs2MSw3IEBAIGZ1bmN0aW9uIGNoZWNr
T2JqZWN0U3RvcmUoKQogCiBmdW5jdGlvbiBjaGVja1F1b3RhRW5mb3JjaW5nKCkKIHsKLSAgICB2
YXIgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0MTIzJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHRlc3RDb21wbGV0ZTsKICAgICB0
cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CiAgICAgZGVidWco
IkNyZWF0aW5nICdkYXRhJyB3aGljaCBjb250YWlucyA2NEsgb2YgZGF0YSIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRl
ZmF1bHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3It
Y2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0CmluZGV4IDk2ZjRiNjVmNjQ3MTc3
MjAzN2I3N2IyNDgwOWIxOTg2N2QzYmQ4MzMuLjhhNTVkOWY3NzI0ZTVmMjNkODM1NDNlZjA3ZWQ2
NTQyYWYwMWFiNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vy
cm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC1leHBlY3Rl
ZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgUEFTUyB0cmFucyAhPT0gbnVsbCBpcyB0cnVlCiB0cmFu
cy5vbmNvbXBsZXRlID0gYWRkRGF0YQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKQotdHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRy
YW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9
IHRyYW5zYWN0aW9uQ29tcGxldGVkCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQpAQCAtMjIsNyArMjIsNyBAQCBldmVudC5wcmV2ZW50RGVmYXVsdCgpCiBQQVNTIFRyYW5z
YWN0aW9uIGNvbXBsZXRlZAogCiAKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0g
dHJhbnNhY3Rpb25BYm9ydGVkMQogdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0
ZUNhbGxiYWNrCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQpAQCAtMzEs
NyArMzEsNyBAQCBEb2luZyBub3RoaW5nIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYWN0aW9uLi4u
CiBQQVNTIFRyYW5zYWN0aW9uIGFib3J0ZWQKIAogCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMu
b25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDIKIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVj
dGVkQ29tcGxldGVDYWxsYmFjawogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNl
cy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9l
cnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sCmluZGV4IDhjZTZkMDdkNzUxN2RiYTg2
YWExMGMzMzg2N2ZhN2U4ODFmZDU2ZjkuLmQxOThiMGFjYzE1ZGU1NjA4ZmQ4ZmRkZDk1ZDhmYmZk
MDMxMTg2NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9y
LWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRtbApAQCAtNDUsNyArNDUs
NyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiAKIGZ1bmN0aW9uIGFkZERhdGEoKQogewot
ICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3Rl
ZEFib3J0Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdHJh
bnNhY3Rpb25Db21wbGV0ZWQiKTsKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJh
bnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CkBAIC03Miw3ICs3Miw3IEBAIGZ1bmN0aW9u
IHRyYW5zYWN0aW9uQ29tcGxldGVkKCkKICAgICB0ZXN0UGFzc2VkKCJUcmFuc2FjdGlvbiBjb21w
bGV0ZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIiIpOwotICAgIHRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsK
ICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkMSIpOwog
ICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxs
YmFjayIpOwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykiKTsKQEAgLTkxLDcgKzkxLDcgQEAgZnVuY3Rpb24gdHJhbnNhY3Rpb25B
Ym9ydGVkMSgpCiAgICAgdGVzdFBhc3NlZCgiVHJhbnNhY3Rpb24gYWJvcnRlZCIpOwogICAgIGRl
YnVnKCIiKTsKICAgICBkZWJ1ZygiIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwor
ICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFt
ZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2co
InRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygi
dHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrIik7CiAgICAgc3Rv
cmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWlu
LWV2ZW50LWFib3J0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4dAppbmRleCBkNGI3NGZhZGYx
MjcwY2VlZTAzZGM1ZjUxY2M4YWJlYzQ3ZWJkYmEwLi5lOTc4NWNiMTZhOGYyNWUzMWZjZWE2Yjk4
ZDg4NzZmN2YyMzIxMDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4
dApAQCAtMTYsNyArMTYsNyBAQCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3Zh
bHVlJywgeTogJ3p6eid9LCAna2V5JykKIAotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJv
cnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQxCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENv
bXBsZXRlQ2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCkBA
IC0yNiw3ICsyNiw3IEBAIGV2ZW50LnByZXZlbnREZWZhdWx0KCkKIFRocm93aW5nCiAKIFBBU1Mg
VGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9u
YWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3Rl
ZENvbXBsZXRlQ2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
CkBAIC0zNiw3ICszNiw3IEBAIGV2ZW50LnByZXZlbnREZWZhdWx0KCkKIFRocm93aW5nCiAKIFBB
U1MgVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihb
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5z
Lm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9IHRy
YW5zYWN0aW9uQ29tcGxldGVkMQogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKQEAgLTQ2LDcgKzQ2LDcgQEAgZXZlbnQucHJldmVudERlZmF1bHQoKQogVGhyb3dpbmcgd2l0
aGluIGEgdHJ5IGJsb2NrCiAKIFBBU1MgVGhlIHRyYW5zYWN0aW9uIGNvbXBsZXRlZC4KLXRyYW5z
ID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sKIHRy
YW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlZDIKIHN0b3JlID0gdHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwKaW5kZXggODllMjdl
ZjBkZGRhMmQzOGQ5MGVhMGRjMjZkOWQyYzYyNTRhMTUxNy4uOWY1MjJiZTFiNThkMjA4MGI5ZmUz
ZmFhN2NlNzAxMzg4NGIwOTczOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbApAQCAtNDgsNyAr
NDgsNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlvbiBzdGFydFRlc3QoKQog
ewogICAgIGRlYnVnKCIiKTsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJh
bnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMu
b25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDEiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5v
bmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2siKTsKICAgICBzdG9yZSA9IGV2
YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CkBAIC02
OSw3ICs2OSw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZDEoKQogewogICAgIGRlYnVn
KCIiKTsKICAgICB0ZXN0UGFzc2VkKCJUaGUgdHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQuIik7Ci0g
ICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJh
bnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlv
bkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0
ZWRDb21wbGV0ZUNhbGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRy
YW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAtODIsNyArODIsNyBAQCBmdW5jdGlv
biB0cmFuc2FjdGlvbkFib3J0ZWQyKCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAgdGVzdFBhc3Nl
ZCgiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLiIpOwotICAgIHRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAg
ICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdHJhbnNhY3Rpb25Db21wbGV0ZWQxIik7
CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKSIpOwpAQCAtMTA3LDcgKzEwNyw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQ29tcGxl
dGVkMSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIHRlc3RQYXNzZWQoIlRoZSB0cmFuc2FjdGlv
biBjb21wbGV0ZWQuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5z
YWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9u
YWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjayIpOwogICAgIGV2YWxBbmRMb2coInRyYW5z
Lm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlZDIiKTsKICAgICBzdG9yZSA9IGV2YWxB
bmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLWV4cGVjdGVk
LnR4dAppbmRleCA5ZjEwZjQxNDRmZmQ0OGE1NmI4ZDU4YWY5MGYwOWJjNmY0MzE4ZjhlLi5iMWEw
MjczMDM0N2FlZjQ4ZTMzMTZjMjU2ZTY4MGU4ZDY0NjM4NjY3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS1leHBlY3RlZC50eHQKQEAg
LTEzLDcgKzEzLDcgQEAgRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZScpCiBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcsIHt1bmlxdWU6
IHRydWV9KQogc2V0VmVyc2lvbkNvbXBsZXRlZCgpOgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KQogdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt4OiAxfSwgJ2ZvbycpCiBh
ZGRNb3JlRGF0YSgpOgogdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt4OiAx
fSwgJ2JhcicpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC11bmlxdWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1
ZS5odG1sCmluZGV4IDUwYjYzOWJiNmQxYzcwYzEwODNjOTY2MDZlYjY3NTUzMGY5ODQyZjguLmIw
N2UxODQwM2I4MmY5NjU4ZGZjNjZmM2I0NTYxZWMzMDkxNjVhMWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1sCkBAIC00OSw3ICs0OSw3IEBA
IGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25Db21wbGV0ZWQo
KQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7Ci0gICAgd2luZG93LnRy
YW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB3aW5kb3cudHJhbnNhY3Rp
b24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKIAogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJ0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoe3g6IDF9LCAnZm9v
JykiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJz
b3ItZXhwZWN0ZWQudHh0CmluZGV4IDI3MGIyNGZlNzQ2ZTZhYzA3ZTllNmI5OWIzMTE2NDJkY2Vm
ODIxNjAuLjJiODliNjFhYWZkNmZjNDc5MTJjNzMxODc1MWQyMWNiMDBlMjc3YmYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29y
LWV4cGVjdGVkLnR4dApAQCAtMTYsNyArMTYsNyBAQCBvYmplY3RTdG9yZS5hZGQoMiwgMikub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoMywgMykub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoNCwgNCkub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvcGVuRm9yd2FyZEN1cnNvcigpCi10cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpCiB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQogb2JqZWN0U3RvcmUub3BlbkN1
cnNvcigpCiBmb3J3YXJkQ3Vyc29yKCkKQEAgLTQ5LDcgKzQ5LDcgQEAgZm9yd2FyZEN1cnNvcigp
CiBQQVNTIGN1cnNvclN0ZXBzIGlzIDUKIGZvcndhcmRDdXJzb3JDb21wbGV0ZSgpCiBvcGVuUmV2
ZXJzZUN1cnNvcigpCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQog
b2JqZWN0U3RvcmUub3BlbkN1cnNvcihudWxsLCB3ZWJraXRJREJDdXJzb3IuUFJFVikKIHJldmVy
c2VDdXJzb3IoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0
YXRpbmctY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGlu
Zy1jdXJzb3IuaHRtbAppbmRleCA1ODA4ZGI3NzUxOWMyMTk0NTg5NGQ1MzdmOWVlODc2ZjQ3NWIy
Njc3Li5jZjE5MWJiNGQ3MDY3NDBmMTA3NjM5Mjc4Y2VhZWVjZjc0NjZjZDNmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbApAQCAt
NTIsNyArNTIsNyBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVu
Rm9yd2FyZEN1cnNvcigpCiB7CiAgICAgZGVidWcoIm9wZW5Gb3J3YXJkQ3Vyc29yKCkiKTsKLSAg
ICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRy
YW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBs
ZXRlID0gZm9yd2FyZEN1cnNvckNvbXBsZXRlOwogCkBAIC05Nyw3ICs5Nyw3IEBAIGZ1bmN0aW9u
IGZvcndhcmRDdXJzb3JDb21wbGV0ZSgpCiBmdW5jdGlvbiBvcGVuUmV2ZXJzZUN1cnNvcigpCiB7
CiAgICAgZGVidWcoIm9wZW5SZXZlcnNlQ3Vyc29yKCkiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
OworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4
cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gcmV2ZXJzZUN1cnNv
ckNvbXBsZXRlOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1hdXRvaW5jcmVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4
IDg3ZTQ3N2JlZThjYzk3ZTg3ZDQ3MmM1MTcyZTcwNTUwMGQ2YTlhYzQuLjQ4YjExYmIwYjkwM2Jh
ODY3NTMxYzY2YTY5YzZlOTViM2YwNTJiNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQt
ZXhwZWN0ZWQudHh0CkBAIC0yMyw3ICsyMyw3IEBAIFBBU1Mgc3RvcmVOYW1lcy5jb250YWlucygn
U3RvcmVXaXRoQXV0b0luY3JlbWVudCcpIGlzIHRydWUKIFBBU1Mgc3RvcmVOYW1lcy5jb250YWlu
cygnUGxhaW5PbGRTdG9yZScpIGlzIHRydWUKIFBBU1Mgc3RvcmVOYW1lcy5sZW5ndGggaXMgMwog
c2V0VmVyc2lvbkNvbXBsZXRlZCgpOgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydTdG9y
ZVdpdGhLZXlQYXRoJywgJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnLCAnUGxhaW5PbGRTdG9yZSdd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0cmFucy5vYmplY3RT
dG9yZSgnU3RvcmVXaXRoS2V5UGF0aCcpCiBJbnNlcnQgaW50byBvYmplY3Qgc3RvcmUgd2l0aCBh
dXRvIGluY3JlbWVudCBhbmQga2V5IHBhdGgsIHdpdGgga2V5IGluIHRoZSBvYmplY3QuCiBzdG9y
ZS5hZGQoe25hbWU6ICdKZWZmZXJzc29uJywgbnVtYmVyOiAnNzAxMCcsIGlkOiAzfSkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNy
ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1
dG9pbmNyZW1lbnQuaHRtbAppbmRleCAwOTQ1Yzg0MThiOTA2OWNlZDk0YmUxMDY3MThjYjhmZGEw
OWVlMzU3Li5jZjNlNTY4YjMzODExYWNhNzQ4NTM5NTg4ODdhODVkZDYzMDI1ZDk0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVt
ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YXV0b2luY3JlbWVudC5odG1sCkBAIC02MSw3ICs2MSw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb25D
b21wbGV0ZWQoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7CiAKLSAg
ICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHdpbmRvdy50cmFucyA9IGV2
YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0
b3JlV2l0aEF1dG9JbmNyZW1lbnQnLCAnUGxhaW5PbGRTdG9yZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRD
YWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gZG9uZTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBl
Y3RlZC50eHQKaW5kZXggYjc1ZWQzM2UxMWU1ZTRhNTQ0Y2U5Njg2MjJlZTU5MDhjZjliNjdkZS4u
OTE1MGRlZTQyNDUyZmQzN2RlOWNjMzZhM2I2NjdmOWQzYTg4M2VmMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mt
ZXhwZWN0ZWQudHh0CkBAIC00OSw3ICs0OSw3IEBAIFBBU1Mgc3RvcmUuaW5kZXhOYW1lc1sxXSBp
cyBudWxsCiBQQVNTIHN0b3JlLmluZGV4TmFtZXNbMTAwXSBpcyBudWxsCiBQQVNTIHN0b3JlLmlu
ZGV4TmFtZXMuaXRlbSgxKSBpcyBudWxsCiBQQVNTIHN0b3JlLmluZGV4TmFtZXMuaXRlbSgxMDAp
IGlzIG51bGwKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCit0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBzdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogVHJ5IHRvIGluc2VydCBkYXRhIHdpdGggYSBE
YXRlIGtleToKIHN0b3JlLmFkZCh7eDogJ2Zvbyd9LCB0ZXN0RGF0ZSkKQEAgLTY1LDE5ICs2NSwx
OSBAQCBldmVudC50YXJnZXQuc291cmNlLmFkZCh7eDogJ2Zvbyd9LCAnenp6JykKIGFkZEFnYWlu
RmFpbHVyZSgpOgogUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIHdlYmtpdElEQkRhdGFi
YXNlRXhjZXB0aW9uLkNPTlNUUkFJTlRfRVJSCiBldmVudC5wcmV2ZW50RGVmYXVsdCgpCi1kYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK2RiLnRyYW5z
YWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBz
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKLWRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKQorZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCiBzdG9yZS5hZGQoe3g6IG51bGx9LCAndmFsaWRrZXknKQogUEFTUyBldmVudC5jYW5jZWxh
YmxlIGlzIHRydWUKIGFkZFdpdGhOdWxsSW5kZXhGYWlsdXJlKCk6CiBQQVNTIGV2ZW50LnRhcmdl
dC5lcnJvckNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIGV2ZW50
LnByZXZlbnREZWZhdWx0KCkKLWRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKQorZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCiBzdG9yZS5nZXQoJ2tleScpCiBnZXRTdWNjZXNzKCk6CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCmluZGV4
IDY0MWQ2ZTllZjliMzY4YzNmZDZjZjEyODI3M2I3MzU4NmM4ZmNjYTcuLmY0NzFlY2ZkYTk1NThj
NWMwYjZkNjYwOWVmZDk5OGY2ZGY3NmY4ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCkBAIC0xMzQsNyArMTM0LDcg
QEAgdmFyIHRlc3REYXRlQiA9IG5ldyBEYXRlKCJXZWQgSmFuIDA1IDIwMTEgMTU6NTQ6NDkiKTsK
IAogZnVuY3Rpb24gYWRkRGF0YSgpCiB7Ci0gICAgdmFyIHRyYW5zYWN0aW9uID0gZXZhbEFuZExv
ZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKKyAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2Fj
dGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dENhbGxiYWNrOwogICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAKQEAgLTE4MCwxMyArMTgwLDEzIEBA
IGZ1bmN0aW9uIGFkZEFnYWluRmFpbHVyZSgpCiAKICAgICBldmFsQW5kTG9nKCJldmVudC5wcmV2
ZW50RGVmYXVsdCgpIik7CiAKLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5z
YWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5z
YWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIAogICAgIGV2YWxB
bmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkiLCAi
d2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAotICAgIHRyYW5zYWN0aW9u
ID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpIik7CisgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlv
bihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAg
IHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICB2YXIg
c3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKSIpOwogCkBAIC0yMDMsNyArMjAzLDcgQEAgZnVuY3Rpb24gYWRkV2l0aE51bGxJbmRl
eEZhaWx1cmUoKQogCiAgICAgZXZhbEFuZExvZygiZXZlbnQucHJldmVudERlZmF1bHQoKSIpOwog
Ci0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRM
b2coImRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLWV4cGVjdGVkLnR4dAppbmRl
eCAyODc1ZmQ2YjI5OWQ3ZDU0NzI0MjhkYTI4ZTkzYjlmZDE5MGUzNTk5Li40YTgyNDkzNTM4N2I4
YWNhOTg3MDczMjc3NmNhODQwZTI4ODUzMjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXItZXhwZWN0ZWQudHh0CkBA
IC0yMyw3ICsyMyw3IEBAIGluZGV4ID0gc3RvcmUuaW5kZXgoJ2luZGV4TmFtZScpCiBpbmRleC5v
cGVuS2V5Q3Vyc29yKCkKIG9wZW5LZXlDdXJzb3JTdWNjZXNzKCk6CiBQQVNTIGV2ZW50LnRhcmdl
dC5yZXN1bHQgaXMgbnVsbAotZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEV9KQorZGIudHJhbnNhY3Rpb24oWydvdGhlclN0b3JlTmFtZSddKQogb3Ro
ZXJTdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdvdGhlclN0b3JlTmFtZScpCiBvdGhl
clN0b3JlLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAidmFsdWUiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVh
ci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIu
aHRtbAppbmRleCBmMTg4NDhiNDRkOWE1NDMyODhiYjk4NTBlNWRkYzA0M2QzMmRkODNlLi4wM2Rk
NWRkM2IyNDUwNDNlZjU5MmE3MzNmYjcyMDFjMWUwNmE2MTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWwKQEAgLTg3LDcg
Kzg3LDcgQEAgZnVuY3Rpb24gb3BlbktleUN1cnNvclN1Y2Nlc3MoKQogICAgIGRlYnVnKCJvcGVu
S2V5Q3Vyc29yU3VjY2VzcygpOiIpOwogICAgIHNob3VsZEJlTnVsbCgiZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOwogCi0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbih7
bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pIik7CisgICAgdHJhbnNhY3Rp
b24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ290aGVyU3RvcmVOYW1lJ10pIik7CiAg
ICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZh
ciBvdGhlclN0b3JlID0gZXZhbEFuZExvZygib3RoZXJTdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdvdGhlclN0b3JlTmFtZScpIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVj
dHN0b3JlLWV4cGVjdGVkLnR4dAppbmRleCA3N2VkMDFmY2Y4NDA0NjY4MzU2MGE4NTcxY2IzYjY1
MmM1N2FiNTVhLi40MDdkMzZmMzhhYTBmNjk3YzdiOTk1Yzg1MDI1YWZmYWI0MTlmMjE1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVv
YmplY3RzdG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0CkBAIC0xMyw3ICsx
Myw3IEBAIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCiBz
dG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpCiBQQVNTIHN0b3JlLmluZGV4TmFtZXMu
Y29udGFpbnMoJ2luZGV4TmFtZScpIGlzIHRydWUKIHN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykK
LWRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkK
K2RiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQogc3RvcmUuZ2V0KCdrZXknKQogUEFTUyBldmVudC50YXJnZXQu
cmVzdWx0IGlzICJ2YWx1ZSIKQEAgLTIyLDcgKzIyLDcgQEAgdHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0CiBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRydWUKIGRiLmRlbGV0ZU9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCi1k
Yi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pCitk
Yi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJl
c3VsdCBpcyB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCmluZGV4IGY0
NGIyN2VjNDE1MWJmOGI1Y2ZhMTNmZjUyODQzMjJiMjU4NzMyYzAuLjUxZmRlY2I3MmZkNTRhZWM1
ZmMwZmM3ZDE4ZjU0MTkyMWFhZjllMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRt
bApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiAKIGZ1bmN0aW9u
IGdldFZhbHVlKCkKIHsKLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0
aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsKKyAgICB0cmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pIik7CiAg
ICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZh
ciBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpIik7CiAKQEAgLTg1LDcgKzg1LDcgQEAgZnVuY3Rpb24gY3JlYXRlT2JqZWN0U3Rv
cmVBZ2FpbigpCiAKIGZ1bmN0aW9uIGdldFZhbHVlQWdhaW4oKQogewotICAgIHRyYW5zYWN0aW9u
ID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEV9KSIpOworICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSkiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXBy
b3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmNzFmNzgxZDcxODRlM2M4OWRkMmEyODliNmQ2
MDliNDYxNjA4N2IyLi5mOGM2ZGY3ZWYzMzFjYzBhZjIxMzQ1YzRmMGIxNTE5MzA1Yjc1NjAwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXBy
b3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTQsNyArMTQsNyBA
QCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6eid9LCAn
a2V5JykKIFZlcmlmeSB0aGF0IGhhbmRsZXIgZmlyZXMgYW5kIHRoYXQgbm90IHByZXZlbnRpbmcg
ZGVmYXVsdCB3aWxsIHJlc3VsdCBpbiBhbiBhYm9ydAotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihb
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5z
Lm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQKIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVj
dGVkQ29tcGxldGVDYWxsYmFjawogdHJhbnMub25lcnJvciA9IGFsbG93RGVmYXVsdApAQCAtMjUs
NyArMjUsNyBAQCBEb2luZyBub3RoaW5nIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYWN0aW9uLi4u
CiBQQVNTIGhhbmRsZXJGaXJlZCBpcyB0cnVlCiAKIFZlcmlmaW5nIGVycm9yCi10cmFucyA9IGRi
LnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKQogdHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDIKIHRyYW5zLm9uY29t
cGxldGUgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMuYWRkRXZlbnRMaXN0ZW5lcign
ZXJyb3InLCBlcnJvckNhcHR1cmVDYWxsYmFjaywgdHJ1ZSkKQEAgLTkyLDcgKzkyLDcgQEAgUEFT
UyBidWJibGVGaXJlZCBpcyB0cnVlCiBQQVNTIGRiQnViYmxlRmlyZWQgaXMgdHJ1ZQogCiBWZXJp
ZmluZyBzdWNjZXNzLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uY29tcGxldGUgPSB0cmFu
c2FjdGlvbkNvbXBsZXRlCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sK
IHRyYW5zLmFkZEV2ZW50TGlzdGVuZXIoJ3N1Y2Nlc3MnLCBzdWNjZXNzQ2FwdHVyZUNhbGxiYWNr
LCB0cnVlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVz
dC1ldmVudC1wcm9wYWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCmluZGV4IDNiMWRhM2JlOTM1ZDU3OTY1YWMw
YmVjMjZmOThjNWU1YWI2NmJhZGUuLmQ3ZmJlZTJmMmI1NjkxZmQ2NTc4MDY2NmI1MWMyMjU0MWU0
YjM0M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3Qt
ZXZlbnQtcHJvcGFnYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKQEAgLTQ4LDcgKzQ4LDcgQEAgZnVuY3Rp
b24gZGVsZXRlRXhpc3RpbmcoKQogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKICAgICBkZWJ1Zygi
VmVyaWZ5IHRoYXQgaGFuZGxlciBmaXJlcyBhbmQgdGhhdCBub3QgcHJldmVudGluZyBkZWZhdWx0
IHdpbGwgcmVzdWx0IGluIGFuIGFib3J0Iik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
OworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3Jl
TmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRM
b2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQiKTsKICAgICBldmFsQW5kTG9n
KCJ0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2siKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmVycm9yID0gYWxsb3dEZWZhdWx0Iik7CkBAIC03MCw3ICs3MCw3
IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZCgpCiAgICAgc2hvdWxkQmVUcnVlKCJoYW5k
bGVyRmlyZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlZlcmlmaW5nIGVycm9yIik7
Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2Fj
dGlvbkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMuYWRkRXZlbnRMaXN0
ZW5lcignZXJyb3InLCBlcnJvckNhcHR1cmVDYWxsYmFjaywgdHJ1ZSkiKTsKQEAgLTE3Myw3ICsx
NzMsNyBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQyKCkKICAgICBzaG91bGRCZVRydWUo
ImRiQnViYmxlRmlyZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlZlcmlmaW5nIHN1
Y2Nlc3MuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxl
dGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25hYm9y
dCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMuYWRk
RXZlbnRMaXN0ZW5lcignc3VjY2VzcycsIHN1Y2Nlc3NDYXB0dXJlQ2FsbGJhY2ssIHRydWUpIik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1h
Ym9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1hYm9ydC1leHBlY3RlZC50eHQKaW5kZXggYzNiY2I3MDY5YTcwM2YwM2M3OTBkMWVlOTFi
NDdhMThlNzZiZDk3Mi4uYjIwODllMDkzOTIxMjdiMGE0Mzg1Yjg3MzA0NWJkYTViMWJkNDI0MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJv
cnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dApAQCAtMTMsNyArMTMsNyBAQCB0cmFucy5vbmNvbXBs
ZXRlID0gc3RhcnRUZXN0CiBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVl
JywgeTogJ3p6eid9LCAna2V5JykKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0g
dHJhbnNhY3Rpb25BYm9ydGVkCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRl
Q2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRo
LWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQKaW5kZXgg
OWEyMTZlOTRhYTNkMDIxMjMxNGY1NmI0OTQ1M2FlMzgzOWVhNWUwOS4uN2ExZmZhZjczMzRiMmQ1
MTFhMDdhODY0MDcyYWQ1ZDcwZTcxMzVkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0
LXdpdGgtanMtcmVjdXJzaW9uLWV4cGVjdGVkLnR4dApAQCAtOCw5ICs4LDkgQEAgUEFTUyB3ZWJr
aXRJbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQogd2Via2l0SW5kZXhlZERCLm9wZW4oJ3RyYW5z
YWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uJykKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dAogZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQotcGVuZGluZ1RyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitwZW5kaW5n
VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ29iamVjdFN0b3JlJ10sIHdlYmtpdElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpCiBTdGFydCByZS1lbnRyYW50IEpTCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ29iamVjdFN0b3JlJ10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCiBFbmQgcmUtZW50cmFudCBKUwogc3RvcmUgPSBwZW5kaW5nVHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJykKIFBBU1Mgc3RvcmUgIT09IHVuZGVm
aW5lZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24uaHRtbApp
bmRleCBkMGNkZTAzY2MyZjVkODdhNzkzOGU3ZGJhMmRhMGQ1NmNlNWM0MGU3Li5jZWQ2ZWMzZWQw
M2YzMDcxOTVhNjIwZWM4YTkyNzM5YTYwYTFkMDZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdp
dGgtanMtcmVjdXJzaW9uLmh0bWwKQEAgLTM2LDggKzM2LDkgQEAgZnVuY3Rpb24gc2V0VmVyc2lv
bigpIHsKIH0NCiANCiBmdW5jdGlvbiBjbGljaygpIHsNCisgICAgc3RvcmUgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnLCBudWxsKTsNCiAgICAgYm9keS5vbmNsaWNrID0gdGVz
dDsNCi0gICAgdmFyIHBlbmRpbmdUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInBlbmRpbmdUcmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKSIpOw0KKyAgICB2YXIgcGVuZGluZ1RyYW5zYWN0aW9uID0gZXZhbEFuZExvZygicGVuZGlu
Z1RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBwZW5kaW5nVHJhbnNhY3Rpb24ub25zdWNj
ZXNzID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogICAgIHBlbmRpbmdUcmFuc2FjdGlvbi5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogICAgIHBlbmRpbmdUcmFuc2FjdGlv
bi5vbmFib3J0ID0gYWJvcnRDYWxsYmFjazsNCkBAIC01Miw4ICs1Myw3IEBAIGZ1bmN0aW9uIGNs
aWNrKCkgewogZnVuY3Rpb24gdGVzdCgpDQogew0KICAgICBkZWJ1ZygiU3RhcnQgcmUtZW50cmFu
dCBKUyIpOw0KLSAgICBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdvYmplY3RTdG9yZScs
IG51bGwpOw0KLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7DQorICAg
IHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihb
J29iamVjdFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7DQogICAg
IGRlYnVnKCJFbmQgcmUtZW50cmFudCBKUyIpOw0KIH0NCiANCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAppbmRleCA2YmQwYzAw
ZDM4NGY1ZDQ5YTRjNTNiOWY1ZjBjNmVlZGZiZmIyZDU0Li4xZDI4MDI3MGI4NzY1N2IyYzhhNWM3
ZDhjOWJiZThiNzQ4ZDg3NjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rpb24g
ZGVsZXRlRXhpc3RpbmcoKQogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewotICAgIHRyYW5zID0g
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJh
bnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSki
KTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkIik7
CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNh
bGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDZiZTU3OTU2YWI4Nzk3ZDJjNTU1ZDU1YTllY2NhNDQwOTA3Y2MzMGQuLjIzOGUxNTkxZmQ5
NzllZmZlM2Y2ZGFkYTQ1ZGZlNGFlYWRlNDI5YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS1l
eHBlY3RlZC50eHQKQEAgLTE0LDE3ICsxNCwxNyBAQCBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdzdG9yZScpCiByZXF1ZXN0ID0gc3RvcmUucHV0KCd4JywgJ3knKQogUEFTUyBQdXQgc3Vj
Y2VzcwogcnVubmluZyBmaXJzdCB0cmFuc2FjdGlvbgotY3VycmVudFRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitjdXJyZW50
VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpCiBvYmplY3RTdG9yZS5wdXQoJ2EnLCAnYicpCiBkYi5jbG9zZSgpCi1F
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rp
b24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5OT1RfQUxMT1dFRF9FUlIKIAogdmVyaWZ5IHRoYXQgd2UgY2FuIHJlb3BlbiB0aGUgZGIgYWZ0
ZXIgY2FsbGluZyBjbG9zZQogd2Via2l0SW5kZXhlZERCLm9wZW4oJ3RyYW5zYWN0aW9uLWFmdGVy
LWNsb3NlJykKIHNlY29uZF9kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWN1cnJlbnRUcmFuc2Fj
dGlvbiA9IHNlY29uZF9kYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkKK2N1cnJlbnRUcmFuc2FjdGlvbiA9IHNlY29uZF9kYi50cmFuc2FjdGlvbihbJ3N0
b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiByZXF1ZXN0ID0gc3RvcmUu
cHV0KCcxJywgJzInKQogUEFTUyBmaW5hbCBwdXQgc3VjY2VzcwogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwKaW5kZXggMTNhZWU2MDhkYjU4MWU5MjRk
ZjhiZjE3ZmMxZjhjMWE3OTkzNWM2MS4uMjAzNTliMTE2MmI3ZmNhZjkxMDY1MDcwZTYzZmU2MmQ5
MmViMmIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYWZ0ZXItY2xvc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sCkBAIC01Myw3ICs1Myw3IEBAIGZ1bmN0aW9u
IG9uUHV0U3VjY2VzcygpCiBmdW5jdGlvbiBydW5GaXJzdFJlZ3VsYXJUcmFuc2FjdGlvbigpDQog
ew0KICAgICBkZWJ1ZygicnVubmluZyBmaXJzdCB0cmFuc2FjdGlvbiIpDQotICAgIGN1cnJlbnRU
cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KKyAgICBjdXJyZW50
VHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7DQogICAg
IGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7DQog
ICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZmlyc3RUcmFuc2FjdGlvbkNvbXBs
ZXRlOw0KICAgICBvYmplY3RTdG9yZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmUnKTsNCkBAIC02NCw3ICs2NCw3IEBAIGZ1bmN0aW9uIHJ1bkZpcnN0UmVndWxhclRyYW5z
YWN0aW9uKCkKIGZ1bmN0aW9uIGZpcnN0VHJhbnNhY3Rpb25Db21wbGV0ZSgpDQogew0KICAgICBl
dmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7DQotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRi
LnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIsICJ3ZWJr
aXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIiKTsNCisgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dF
RF9FUlIiKTsNCiANCiAgICAgZGVidWcoIiIpDQogICAgIGRlYnVnKCJ2ZXJpZnkgdGhhdCB3ZSBj
YW4gcmVvcGVuIHRoZSBkYiBhZnRlciBjYWxsaW5nIGNsb3NlIikNCkBAIC03NSw3ICs3NSw3IEBA
IGZ1bmN0aW9uIGZpcnN0VHJhbnNhY3Rpb25Db21wbGV0ZSgpCiANCiBmdW5jdGlvbiBvblNlY29u
ZE9wZW4oKSB7DQogICAgIHNlY29uZF9kYiA9IGV2YWxBbmRMb2coInNlY29uZF9kYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsNCi0gICAgY3VycmVudFRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygi
Y3VycmVudFRyYW5zYWN0aW9uID0gc2Vjb25kX2RiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KKyAgICBjdXJyZW50VHJhbnNhY3Rpb24gPSBldmFs
QW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBzZWNvbmRfZGIudHJhbnNhY3Rpb24oWydzdG9y
ZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBzdG9yZSA9IGN1
cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsNCiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBzdG9yZS5wdXQoJzEnLCAnMicpIik7DQogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb25GaW5hbFB1dFN1Y2Nlc3M7DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1v
YmplY3RzdG9yZS1jYWxscy1leHBlY3RlZC50eHQKaW5kZXggMzEzYzFhMTI1YWJhMTVkODcyMTA4
NzBjODQzZjVkMDA0M2U3MDkyZC4uZTkyMTFkYWUyMjE0MTQxYzQ4ZDRkNGIwMjkxOTllNmY4YjQw
N2VkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMtZXhwZWN0
ZWQudHh0CkBAIC01NSwxNCArNTUsMTcgQEAgRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHRyYW5z
Lm9iamVjdFN0b3JlKCd4JykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgogCi10cmFucyA9IGRi
LnRyYW5zYWN0aW9uKFtdKQorUGFzc2luZyBhIHN0cmluZyBhcyB0aGUgZmlyc3QgYXJndW1lbnQg
aXMgYSBzaG9ydGN1dCBmb3IganVzdCBvbmUgb2JqZWN0IHN0b3JlOgordHJhbnMgPSBkYi50cmFu
c2FjdGlvbignYScpCiB0cmFucy5vYmplY3RTdG9yZSgnYScpCi10cmFucy5vYmplY3RTdG9yZSgn
YicpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gdHJhbnMub2JqZWN0U3RvcmUoJ2InKQorUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gdHJhbnMub2Jq
ZWN0U3RvcmUoJ3gnKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCiAKLVBBU1MgdHJhbnMgPSBk
Yi50cmFuc2FjdGlvbigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgorUEFTUyB0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogVHlwZSBlcnJvci4KIAogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5z
YWN0aW9uKFsneCddKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KQEAgLTgwLDYgKzgzLDMw
IEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbJ2EnLCAneCcsICdi
J10pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKIAorRXhjZXB0aW9uIHRocm93biB3aGVuIG5v
IHN0b3JlcyBzcGVjaWZpZWQ6CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rp
b24oW10pCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIERPTUV4Y2Vw
dGlvbi5JTlZBTElEX0FDQ0VTU19FUlIKKwore30gY29lcmNlcyB0byBhIHN0cmluZyAtIHNvIG5v
IG1hdGNoLCBidXQgbm90IGEgdHlwZSBlcnJvcjoKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBk
Yi50cmFuc2FjdGlvbih7fSkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUg
aXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKHttb2RlOjB9KQorUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9V
TkRfRVJSCisKK092ZXJyaWRpbmcgdGhlIGRlZmF1bHQgc3RyaW5nIGNvZXJjaW9uIG1ha2VzIHRo
ZXNlIHdvcms6CitkYi50cmFuc2FjdGlvbih7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gJ2En
O319KQorZGIudHJhbnNhY3Rpb24oW3t0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAnYSc7fX1d
KQorLi4uIGJ1dCB5b3Ugc3RpbGwgbmVlZCB0byBzcGVjaWZ5IGEgcmVhbCBzdG9yZToKK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbe3RvU3RyaW5nOmZ1bmN0aW9uKCl7
cmV0dXJuICd4Jzt9fV0pCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlz
IHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICd4
Jzt9fV0pCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIHdlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1j
YWxscy5odG1sCmluZGV4IDA5MzVlZjk3MTQ5OGI1M2UzNjZjZmIzMWM0ZDEzYjU4OWRjZjA2ZTAu
LmZiYmExZGIxMDE1MDlhODI3YTk5OGJjMmJkNDM3NWJjNWNmOThlODQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1j
YWxscy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCkBAIC03NSw5ICs3NSwxMCBAQCBmdW5jdGlvbiBj
cmVhdGVkKCkKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJ0cmFucy5vYmplY3RTdG9yZSgn
eCcpIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIiKTsKICAgICBk
ZWJ1ZygiIik7CiAKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oW10pIik7CisgICAgZGVidWcoIlBhc3NpbmcgYSBzdHJpbmcgYXMgdGhlIGZpcnN0IGFyZ3Vt
ZW50IGlzIGEgc2hvcnRjdXQgZm9yIGp1c3Qgb25lIG9iamVjdCBzdG9yZToiKTsKKyAgICB0cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ2EnKSIpOwogICAgIGV2YWxB
bmRMb2coInRyYW5zLm9iamVjdFN0b3JlKCdhJykiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFucy5v
YmplY3RTdG9yZSgnYicpIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigidHJhbnMub2Jq
ZWN0U3RvcmUoJ2InKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJS
Iik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigidHJhbnMub2JqZWN0U3RvcmUoJ3gnKSIs
ICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CiAgICAgZGVidWco
IiIpOwogCkBAIC05MSw2ICs5MiwyMyBAQCBmdW5jdGlvbiBjcmVhdGVkKCkKICAgICBldmFsQW5k
RXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbihbJ2EnLCAneCcsICdiJ10pIiwgIndlYmtp
dElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIiKTsKICAgICBkZWJ1ZygiIik7CiAK
KyAgICBkZWJ1ZygiRXhjZXB0aW9uIHRocm93biB3aGVuIG5vIHN0b3JlcyBzcGVjaWZpZWQ6Iik7
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oW10pIiwgIkRPTUV4
Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1
Zygie30gY29lcmNlcyB0byBhIHN0cmluZyAtIHNvIG5vIG1hdGNoLCBidXQgbm90IGEgdHlwZSBl
cnJvcjoiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbih7fSki
LCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOworICAgIGV2YWxB
bmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKHttb2RlOjB9KSIsICJ3ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CisgICAgZGVidWcoIiIpOworCisgICAg
ZGVidWcoIk92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgc3RyaW5nIGNvZXJjaW9uIG1ha2VzIHRoZXNl
IHdvcms6Iik7CisgICAgZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oe3RvU3RyaW5nOmZ1bmN0
aW9uKCl7cmV0dXJuICdhJzt9fSkiKTsKKyAgICBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihb
e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICdhJzt9fV0pIik7CisgICAgZGVidWcoIi4uLiBi
dXQgeW91IHN0aWxsIG5lZWQgdG8gc3BlY2lmeSBhIHJlYWwgc3RvcmU6Iik7CisgICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oW3t0b1N0cmluZzpmdW5jdGlvbigpe3Jl
dHVybiAneCc7fX1dKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJS
Iik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oW3t0b1N0cmlu
ZzpmdW5jdGlvbigpe3JldHVybiAneCc7fX1dKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5OT1RfRk9VTkRfRVJSIik7CisKKyAgICBkZWJ1ZygiIik7CiAgICAgZG9uZSgpOwogfQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYmFzaWNzLWV4cGVjdGVkLnR4dAppbmRleCA1MjdjNTUzYThiZDRjYjhkOGFhNTkxOTIzZWU2
YjIwYzkyN2I2YWJhLi4zMTcxYTg2YTkyMjk5OWE2NDFmNWU2ODI0ZWRkYTFhNmNlMjFmYzI1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKQEAgLTYzLDcgKzYzLDcgQEAgdHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0CiBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRydWUKIERlbGV0ZWQgYWxs
IG9iamVjdCBzdG9yZXMuCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkK
LWRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkK
K2RiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQogUEFTUyBzdG9yZS5uYW1lIGlzICJzdG9yZU5hbWUiCiBQQVNT
IGNvbXBsZXRlIGV2ZW50IGZpcmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCmluZGV4IDBlNDlkYTEwMzNjNGUzZDE5NzE5
NGZhMGE5NGM5NWQ1MDc3OWNmYzcuLmYzYjNlZmFlODIzM2Y0MmQ0NTY3NWJkNmU0MzFjZWFlMDM0
NjRiZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWJhc2ljcy5odG1sCkBAIC0yMDYsNyArMjA2LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lv
blN1Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7DQogDQogICAgIGV2YWxB
bmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOw0KLSAgICB0
cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsNCisgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9n
KCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKSIpOw0KICAgICB0cmFuc2FjdGlvbi5vbmFi
b3J0ID0gYWJvcnRDYWxsYmFjazsNCiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsNCiAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJzdG9yZS5uYW1lIiwgInN0b3JlTmFtZSIpOw0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNy
YXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dAppbmRleCBmNjBlYWEyZTNhYjdhOGI2M2EyMmI4NDM1
NzYwZTBkOGQxY2JiYWQ0Li42ZDMzODIwYTcxMjNkODMxODZkYmRlNTg3ZmY2ODRiNzdhNWE4YjQ5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC04LDYgKzgs
OCBAQCBQQVNTIHdlYmtpdEluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiB3ZWJraXRJbmRleGVk
REIub3BlbigndHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQnKQogb3BlblN1Y2Nlc3MoKToKIGRi
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorZGIuc2V0VmVyc2lvbignMS4wJykKK2RiLmNyZWF0ZU9i
amVjdFN0b3JlKCdmb28nKQogZGIudHJhbnNhY3Rpb24oJ2ZvbycpCiB3aW5kb3cuZ2MoKQogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwKaW5k
ZXggNzVkMTIyYjFjMWMyZWFmMmE5ZjMwNjY5NzZiODMyOGYwZmU0YzVjOS4uNmY5Y2ExNWJiZmZj
ZWI0ZWIwYjYwODAyNzZiYTI3ZmI2NGFjYWQ0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1s
CkBAIC0yOCw2ICsyOCwxNCBAQCBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7CiAgICAgZGVidWco
Im9wZW5TdWNjZXNzKCk6Iik7CiAgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMS4w
JykiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb25TdWNjZXNzOworICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBz
ZXRWZXJzaW9uU3VjY2VzcygpCit7CisgICAgZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ2ZvbycpIik7CiAgICAgZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oJ2ZvbycpIik7CiAg
ICAgZXZhbEFuZExvZygid2luZG93LmdjKCkiKTsKICAgICBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1ldmVudC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNWY4NWM4MWQwYTYwNzIxYmQ2
N2EzMmUyYjJkMzM3YmVhNzc2ZGRjYy4uZDQyMDYxYTBkYzZlN2FjNWQ3NDQ5ZmU0MGRkNWUyOTdh
ZGI2NTQ0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tZXZlbnQtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMTMsNyArMTMsNyBAQCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3Zh
bHVlJywgeTogJ3p6eid9LCAna2V5JykKIFZlcmlmaW5nIGFib3J0Ci10cmFucyA9IGRiLnRyYW5z
YWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KQogdHJhbnMub25hYm9ydCA9IGFib3J0RmlyZWRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9
IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrCiBkYi5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRi
QWJvcnRDYXB0dXJlQ2FsbGJhY2ssIHRydWUpCkBAIC00NSw3ICs0NSw3IEBAIFBBU1MgZXZlbnQu
dGFyZ2V0IGlzIHRyYW5zCiBQQVNTIGV2ZW50LmN1cnJlbnRUYXJnZXQgaXMgZGIKIAogVmVyaWZp
bmcgc3VjY2Vzcy4KLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmNvbXBsZXRlID0gY29tcGxl
dGVGaXJlZENhbGxiYWNrCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sK
IGRiLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgZGJBYm9ydENhcHR1cmVDYWxsYmFjaywg
dHJ1ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCmluZGV4IDE1YzI3NWM1MDlhMjZm
MWEwMTU1OTUzZTIyYTViZDA4YTZkYjM3MjAuLjk0MWFjNTJlM2ZkMzI3ZGJmNDY1MjU0ODIwNGE5
ZTk5NzgxNjNkNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbApAQCAtNDcsNyAr
NDcsNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlvbiBzdGFydFRlc3QoKQog
ewogICAgIGRlYnVnKCJWZXJpZmluZyBhYm9ydCIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFs
QW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gYWJvcnRGaXJlZENhbGxiYWNrIik7CiAgICAgZXZhbEFu
ZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAg
ZXZhbEFuZExvZygiZGIuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBkYkFib3J0Q2FwdHVyZUNh
bGxiYWNrLCB0cnVlKSIpOwpAQCAtOTcsNyArOTcsNyBAQCBmdW5jdGlvbiBkYkFib3J0QnViYmxl
Q2FsbGJhY2soKQogICAgIGRiQnViYmxlRmlyZWQxID0gdHJ1ZTsKICAgICBkZWJ1ZygiIik7CiAg
ICAgZGVidWcoIlZlcmlmaW5nIHN1Y2Nlc3MuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0
b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxB
bmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBjb21wbGV0ZUZpcmVkQ2FsbGJhY2siKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAg
ICBldmFsQW5kTG9nKCJkYi5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRiQWJvcnRDYXB0
dXJlQ2FsbGJhY2ssIHRydWUpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWly
ZWQtZXhwZWN0ZWQudHh0CmluZGV4IGE1ZmU1ZWIwM2UwYWYxMTE4MzE2ZWYzOGQ5N2E5N2ExYzQw
MjI2MWMuLjg3Mjc3OTQwZjUzYTBhZGEyMmEwNGFhZmVlMzViMTBkYzNlNzhhZDkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMt
cmVxdWlyZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQtZXhwZWN0ZWQudHh0CkBAIC0xNSw3ICsx
NSw3IEBAIGluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKQogZGIgPSBldmVudC50YXJn
ZXQucmVzdWx0CiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCiBEZWxldGVkIGFsbCBvYmpl
Y3Qgc3RvcmVzLgotUEFTUyBkYi50cmFuc2FjdGlvbigpOyB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZGIudHJhbnNhY3Rpb24oKTsgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3R1dG9yaWFsLmh0bWwKaW5kZXggOGIyODk4NzJjOGIxNTRlZmE5M2Q3ZjIwMzI2NTNkYmVmOGM1
M2RhNy4uM2MwNDg1MmZmMWI1OTIwMGE3ZGU2YzM3ZDE5YTFhMmE4N2JlYTM4ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5odG1sCkBAIC0yMTEsMTUgKzIxMSwx
NCBAQCBmdW5jdGlvbiBvblNldFZlcnNpb25Db21wbGV0ZSgpCiAgICAgLy8gY3JlYXRlT2JqZWN0
U3RvcmUsIHRyYW5zYWN0aW9uIG9wdGlvbmFsbHkgdGFrZXMgaW4gdmFyaW91cyBvcHRpb25hbCBw
YXJhbWV0ZXJzLgogICAgIC8vCiAgICAgLy8gRmlyc3Qgb2YgYWxsIGlzIHRoZSBwYXJhbWV0ZXIg
Im9iamVjdFN0b3JlTmFtZXMiLiBJZiB5b3UgcGFzcyBpbiBhIHN0cmluZywgd2UgbG9jayBqdXN0
IHRoYXQKLSAgICAvLyBvYmplY3RTdG9yZS4gIElmIHlvdSBwYXNzIGluIGFuIGFycmF5LCB3ZSBs
b2NrIHRob3NlLiBPdGhlcndpc2UgKGZvciBleGFtcGxlLCBpZiB5b3Ugb21pdCBpdAotICAgIC8v
IG9yIHBhc3MgaW4gbnVsbC91bmRlZmluZWQpIHdlIGxvY2sgdGhlIHdob2xlIGRhdGFiYXNlLiBC
eSBzcGVjaWZ5aW5nIGxvY2tzIG92ZXIgZmV3ZXIKKyAgICAvLyBvYmplY3RTdG9yZS4gIElmIHlv
dSBwYXNzIGluIGFuIGFycmF5LCB3ZSBsb2NrIHRob3NlLiBCeSBzcGVjaWZ5aW5nIGxvY2tzIG92
ZXIgZmV3ZXIKICAgICAvLyBvYmplY3RTdG9yZXMgeW91IG1ha2UgaXQgcG9zc2libGUgZm9yIGJy
b3dzZXJzIHRvIHJ1biB0cmFuc2FjdGlvbnMgY29uY3VycmVudGx5LiBUaGF0IHNhaWQsCiAgICAg
Ly8gQ2hyb21pdW0vV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgdGhpcyB5ZXQuCiAgICAgLy8KICAg
ICAvLyBOZXh0IGlzICJtb2RlIiB3aGljaCBzcGVjaWZpZXMgdGhlIGxvY2tpbmcgbW9kZS4gVGhl
IGRlZmF1bHQgaXMgUkVBRF9PTkxZIChpLmUuIGEgc2hhcmVkIGxvY2spLgogICAgIC8vIFRoYXQn
cyBmaW5lIGZvciB0aGlzIGNhc2UsIGJ1dCBsYXRlciB3ZSdsbCBhc2sgZm9yIElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUuIEF0IHRoZSBtb21lbnQsCiAgICAgLy8gQ2hyb21pdW0vV2ViS2l0IHBy
ZXRlbmRzIGV2ZXJ5IHRyYW5zYWN0aW9uIGlzIFJFQURfV1JJVEUsIHdoaWNoIGlzIGtpbmQgb2Yg
YmFkLgotICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwg
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSk7CisgICAgd2luZG93LmN1cnJlbnRUcmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCJwZW9wbGUiLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKTsK
ICAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZTsK
ICAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25hYm9ydCA9IG9uVHJhbnNhY3Rpb25BYm9ydGVkOwog
CkBAIC0yNjYsMTAgKzI2NSw4IEBAIGZ1bmN0aW9uIHVuZXhwZWN0ZWRDb21wbGV0ZSgpCiAKIGZ1
bmN0aW9uIG9uVHJhbnNhY3Rpb25BYm9ydGVkKCkKIHsKLSAgICAvLyBOb3cgbGV0J3MgbWFrZSBh
IHJlYWwgdHJhbnNhY3Rpb24gYW5kIGEgcGVyc29uIHRvIG91ciBvYmplY3RTdG9yZS4gSnVzdCB0
byBzaG93IGl0J3MgcG9zc2libGUsCi0gICAgLy8gd2UnbGwgb21pdCB0aGUgb2JqZWN0U3RvcmVO
YW1lcyBwYXJhbWV0ZXIgd2hpY2ggbWVhbnMgd2UnbGwgbG9jayBldmVyeXRoaW5nIGV2ZW4gdGhv
dWdoIHdlIG9ubHkKLSAgICAvLyBldmVyIGFjY2VzcyAicGVvcGxlIi4KLSAgICB3aW5kb3cuY3Vy
cmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUpOworICAgIC8vIE5vdyBsZXQncyBtYWtlIGEgcmVhbCB0cmFuc2FjdGlvbiBhbmQgYSBw
ZXJzb24gdG8gb3VyIG9iamVjdFN0b3JlLgorICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbigicGVvcGxlIiwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSk7CiAg
ICAgY3VycmVudFRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnQ7CiAKICAgICB2
YXIgcGVvcGxlID0gY3VycmVudFRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCJwZW9wbGUiKTsKQEAg
LTMwNyw3ICszMDQsNyBAQCBmdW5jdGlvbiBvblB1dFRyYW5zYWN0aW9uQ29tcGxldGUoKQogICAg
IC8vIE9LLCBub3cgbGV0J3MgcXVlcnkgdGhlIHBlb3BsZSBvYmplY3RTdG9yZSBpbiBhIGNvdXBs
ZSBkaWZmZXJlbnQgd2F5cy4gRmlyc3QgdXAsIGxldCdzIHRyeSBnZXQuCiAgICAgLy8gSXQgc2lt
cGx5IHRha2VzIGluIGEga2V5IGFuZCByZXR1cm5zIGEgcmVxdWVzdCB3aG9zZSByZXN1bHQgd2ls
bCBiZSB0aGUgdmFsdWUuIE5vdGUgdGhhdCBoZXJlCiAgICAgLy8gd2UncmUgcGFzc2luZyBpbiBh
biBhcnJheSBmb3Igb2JqZWN0U3RvcmVOYW1lcyByYXRoZXIgdGhhbiBhIHNpbXBsZSBzdHJpbmcu
Ci0gICAgd2luZG93LmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsicGVvcGxl
Il0sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUsIDApOworICAgIHdpbmRvdy5jdXJyZW50VHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbInBlb3BsZSJdLCBJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKTsKICAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dDsKIAogICAgIHZhciBwZW9wbGUgPSBjdXJyZW50VHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoInBl
b3BsZSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MTNhMDY1ZWQ0MGFkYjY1NDQ2NDE0NjE3MjQ4YmVjYTA5
ZGI5NmEuLjQxYjNmNTY4YTA5YTFmZjgyMmI5YmM4MjljZjFlOWZjZjliMjhkZTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMS0xMC0yMCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogUGFzc2luZyBlbXB0eSBhcnJheSB0byBJ
REJEYXRhYmFzZS50cmFuc2FjdGlvbiBzaG91bGQgcmFpc2UgZXhjZXB0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI1MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElEQkRhdGFiYXNlLnRyYW5zYWN0
aW9uKCkgc3VwcG9ydGVkIGJlaW5nIGNhbGxlZCB3aXRoIGFuIGVtcHR5IGFycmF5IHRvCisgICAg
ICAgIGxvY2sgYWxsIG9iamVjdCBzdG9yZXMuIFN1cHBvcnQgZm9yIHRoaXMgd2FzIHJlamVjdGVk
IGZyb20gaW5jbHVzaW9uIGluCisgICAgICAgIHRoZSBJREIgc3BlYyBkdWUgdG8gcGVyZm9ybWFu
Y2UgY29uY2VybnMuIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGF0CisgICAgICAgIGZ1bmN0aW9uYWxp
dHkuCisKKyAgICAgICAgQSBzcGVjaWFsIGNhc2UgaW4gdGhlIHNwZWMgKHBhc3NpbmcgYSBzdHJp
bmcgaW5zdGVhZCBvZiBhbiBhcnJheSkgd29ya2VkCisgICAgICAgIGluIFdlYktpdCBhY2NpZGVu
dGFsbHksIGJ5IHJlc29sdmluZyB0aGUgc3RyaW5nIHRvIGFuIGVtcHR5IGFycmF5LiBUaGlzCisg
ICAgICAgIG5lZWRlZCBleHBsaWNpdCBzdXBwb3J0LCBhbmQgY3VzdG9tIGJpbmRpbmcgdG8gZW5z
dXJlIGEgcGFzc2VkIGFycmF5IG9mCisgICAgICAgIHN0cmluZ3MgaXMgY29lcmNlZCBjb3JyZWN0
bHkgdG8gYSBET01TdHJpbmdMaXN0IGFuZCBub3QgYSBzaW5nbGUgc3RyaW5nLgorCisgICAgICAg
ICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG06CisgICAgICAgIChHZW5lcmF0
ZVBhcmFtZXRlcnNDaGVja0V4cHJlc3Npb24pOgorICAgICAgICAoR2V0TmF0aXZlVHlwZSk6Cisg
ICAgICAgIChKU1ZhbHVlVG9OYXRpdmUpOgorICAgICAgICAoSXNBcnJheVR5cGUpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtOgorICAgICAgICAqIHN0b3JhZ2Uv
SURCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2U6OnRyYW5zYWN0
aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFiYXNlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJh
c2UuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2Vu
ZEltcGw6Om9iamVjdFN0b3JlKToKKwogMjAxMS0xMC0xNCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgQXR0ZW1wdGVkIExlb3BhcmQgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0g
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRl
eCBmMmY0ZGFkMDc3MmE1OGEzN2M3NmI2YmQwYzM4OTZmMWZjMmUyNmEwLi44ZjlkYTY2ZjQ2MDJl
YmMyODI0ZjVlOTk3NDA3ZWQ2YzFmZTc5ZjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMTE5Nyw2ICsxMTk3LDkgQEAg
c3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbgogICAgICAgICB9IGVsc2lmICgk
cGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2sifSkgewogICAgICAgICAg
ICAgIyBGb3IgQ2FsbGJhY2tzIG9ubHkgY2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIG9i
amVjdC4KICAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0tPklzTnVs
bCgpIHx8ICR7dmFsdWV9LT5Jc09iamVjdCgpKSIpOworICAgICAgICB9IGVsc2lmIChJc0FycmF5
VHlwZSgkdHlwZSkpIHsKKyAgICAgICAgICAgICMgRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBm
b3IgVFtdLCBUW10/LCBzZXF1ZW5jZTxUPi4KKyAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Np
b24sICIoJHt2YWx1ZX0tPklzTnVsbCgpIHx8ICR7dmFsdWV9LT5Jc0FycmF5KCkpIik7CiAgICAg
ICAgIH0gZWxzaWYgKElzV3JhcHBlclR5cGUoJHR5cGUpKSB7CiAgICAgICAgICAgICBwdXNoKEBh
bmRFeHByZXNzaW9uLCAiKCR7dmFsdWV9LT5Jc051bGwoKSB8fCBWOCR7dHlwZX06Okhhc0luc3Rh
bmNlKCR2YWx1ZSkpIik7CiAgICAgICAgIH0KQEAgLTMxMjgsNiArMzEzMSw4IEBAIHN1YiBHZXRO
YXRpdmVUeXBlCiAgICAgcmV0dXJuICJSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4iIGlm
ICR0eXBlIGVxICJNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIjsKIAogICAgIHJldHVybiAiUmVmUHRy
PERPTVN0cmluZ0xpc3Q+IiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nTGlzdCI7CisgICAgIyBGSVhN
RTogQWRkIHByb3BlciBzdXBwb3J0IGZvciBUW10sIFRbXT8sIHNlcXVlbmNlPFQ+LgorICAgIHJl
dHVybiAiUmVmUHRyPERPTVN0cmluZ0xpc3Q+IiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nW10iOwog
CiAgICAgIyBEZWZhdWx0LCBhc3N1bWUgbmF0aXZlIHR5cGUgaXMgYSBwb2ludGVyIHdpdGggc2Ft
ZSB0eXBlIG5hbWUgYXMgaWRsIHR5cGUKICAgICByZXR1cm4gIiR7dHlwZX0qIjsKQEAgLTMxODIs
NiArMzE4Nyw4IEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICByZXR1cm4gInN0YXRpY19jYXN0
PFJhbmdlOjpDb21wYXJlSG93PigkdmFsdWUtPkludDMyVmFsdWUoKSkiIGlmICR0eXBlIGVxICJD
b21wYXJlSG93IjsKICAgICByZXR1cm4gInRvV2ViQ29yZURhdGUoJHZhbHVlKSIgaWYgJHR5cGUg
ZXEgIkRhdGUiOwogICAgIHJldHVybiAidjhWYWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3QoJHZh
bHVlKSIgaWYgJHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiOworICAgICMgRklYTUU6IEFkZCBwcm9w
ZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/IGFuZCBzZXF1ZW5jZTxUPi4KKyAgICByZXR1cm4gInY4
VmFsdWVUb1dlYkNvcmVET01TdHJpbmdMaXN0KCR2YWx1ZSkiIGlmICR0eXBlIGVxICJET01TdHJp
bmdbXSI7CiAKICAgICBpZiAoJHR5cGUgZXEgIkRPTVN0cmluZyIgb3IgJHR5cGUgZXEgIkRPTVVz
ZXJEYXRhIikgewogICAgICAgICByZXR1cm4gJHZhbHVlOwpAQCAtMzM1Myw2ICszMzYwLDEzIEBA
IHN1YiBJc1dyYXBwZXJUeXBlCiAgICAgcmV0dXJuICEoJG5vbl93cmFwcGVyX3R5cGVzeyR0eXBl
fSk7CiB9CiAKK3N1YiBJc0FycmF5VHlwZQoreworICAgIG15ICR0eXBlID0gJGNvZGVHZW5lcmF0
b3ItPlN0cmlwTW9kdWxlKHNoaWZ0KTsKKyAgICAjIEZJWE1FOiBBZGQgcHJvcGVyIHN1cHBvcnQg
Zm9yIFRbXSwgVFtdPywgc2VxdWVuY2U8VD4uCisgICAgcmV0dXJuICR0eXBlID1+IG0vXFtcXSQv
OworfQorCiBzdWIgSXNET01Ob2RlVHlwZQogewogICAgIG15ICR0eXBlID0gc2hpZnQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFN0cnVjdHVyZS5wbSBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtCmluZGV4IDM0
MDBlMGM4ZDlmMTIwYTQxZDRjMWEyYjQ2NDk2MzdlOTBlZTNhY2EuLjZiYTBlNmY5OGY5OTgwOTgw
M2VlMzUyNTQ4Y2IxMzkzN2M4YThmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvSURMU3RydWN0dXJlLnBtCkBAIC04Nyw3ICs4Nyw3IEBAIG91ciAkY29uc3RWYWx1
ZSA9ICcoIlteIlxyXG5dKiIpfCgwW3hYXVthLWZBLUYwLTldKyl8KC0/WzAtOV0qKSc7CiBvdXIg
JGlkbERhdGFUeXBlID0gJ1thLXpBLVowLTlcIF0nOyAgICMgR2VuZXJpYyBkYXRhIHR5cGUgaWRl
bnRpZmllcgogCiAjIE1hZ2ljIElETCBwYXJzaW5nIHJlZ3VsYXIgZXhwcmVzc2lvbnMKLW15ICRz
dXBwb3J0ZWRUeXBlcyA9ICIoKD86dW5zaWduZWQgKT8oPzppbnR8c2hvcnR8KD86bG9uZyApP2xv
bmcpfCg/OiRpZGxJZE5zKikpIjsKK215ICRzdXBwb3J0ZWRUeXBlcyA9ICIoKD86KD86dW5zaWdu
ZWQgKT8oPzppbnR8c2hvcnR8KD86bG9uZyApP2xvbmcpfCg/OiRpZGxJZE5zKikpKD86XFxbXFxd
KT8pIjsKIAogIyBTcGVjaWFsIElETCBub3RhdGlvbnMuIFRoaXMgcmVndWxhciBleHByZXNzaW9u
IGV4dHJhY3RzIHRoZSBzdHJpbmcgYmV0d2VlbiB0aGUgZmlyc3QgWyBhbmQgaXRzIGNvcnJlc3Bv
bmRpbmcgXS4KIG91ciAkZXh0ZW5kZWRBdHRyaWJ1dGVTeW50YXggPSBxci9cW1teXFtcXV0qKD86
KD8/eyRJRExTdHJ1Y3R1cmU6OmV4dGVuZGVkQXR0cmlidXRlU3ludGF4fSlbXlxbXF1dKikqXF0v
eDsgIyBVc2VkIGZvciBleHRlbmRlZCBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
RGF0YWJhc2UuY3BwCmluZGV4IDdjOTlkOTc5YWM4ZjM5NmI3ZjdlOGIxZjkzYjJjNjg4ZWNkNjRj
MjYuLjA5NDlkZDY0MThmMzcyYzBkMDNmNzExM2U3ZTBiZjQ4MDEyODA0N2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAi
SURCRGF0YWJhc2UuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRXhjZXB0
aW9uQ29kZS5oIgogI2luY2x1ZGUgIkV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJJREJBbnkuaCIK
ICNpbmNsdWRlICJJREJEYXRhYmFzZUNhbGxiYWNrc0ltcGwuaCIKQEAgLTEyMSwxMSArMTIyLDIw
IEBAIFBhc3NSZWZQdHI8SURCVmVyc2lvbkNoYW5nZVJlcXVlc3Q+IElEQkRhdGFiYXNlOjpzZXRW
ZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRlCiAgICAgcmV0dXJuIHJlcXVlc3Q7CiB9CiAKK1Bh
c3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHN0b3JlTmFtZSwgdW5zaWdu
ZWQgc2hvcnQgbW9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgUmVmUHRyPERPTVN0cmlu
Z0xpc3Q+IHN0b3JlTmFtZXMgPSBET01TdHJpbmdMaXN0OjpjcmVhdGUoKTsKKyAgICBzdG9yZU5h
bWVzLT5hcHBlbmQoc3RvcmVOYW1lKTsKKyAgICByZXR1cm4gdHJhbnNhY3Rpb24oY29udGV4dCwg
c3RvcmVOYW1lcywgbW9kZSwgZWMpOworfQorCiBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiBJ
REJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwg
UGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBwcnBTdG9yZU5hbWVzLCB1bnNpZ25lZCBzaG9ydCBt
b2RlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gc3Rv
cmVOYW1lcyA9IHBycFN0b3JlTmFtZXM7Ci0gICAgaWYgKCFzdG9yZU5hbWVzKQotICAgICAgICBz
dG9yZU5hbWVzID0gRE9NU3RyaW5nTGlzdDo6Y3JlYXRlKCk7CisgICAgaWYgKCFzdG9yZU5hbWVz
IHx8IHN0b3JlTmFtZXMtPmlzRW1wdHkoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNT
X0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgaWYgKG1vZGUgIT0gSURCVHJh
bnNhY3Rpb246OlJFQURfV1JJVEUgJiYgbW9kZSAhPSBJREJUcmFuc2FjdGlvbjo6UkVBRF9PTkxZ
KSB7CiAgICAgICAgIC8vIEZJWE1FOiBNYXkgbmVlZCB0byBjaGFuZ2Ugd2hlbiBzcGVjY2VkOiBo
dHRwOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9zaG93X2J1Zy5jZ2k/aWQ9MTE0MDYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaAppbmRleCA5ZDQ4ODNlMDc0MmE3YjVhYjI1MjQwMTNm
ZTFlYmQ5NTVmNDkxOWZhLi5iYjA5YTRmYTBiM2Y1NGY1YzUxZGYzZjJhZmQxMGY0NDMzYmEyNmE4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5oCkBAIC02MSwxMSArNjEsOSBAQCBw
dWJsaWM6CiAKICAgICAvLyBGSVhNRTogVHJ5IHRvIG1vZGlmeSB0aGUgY29kZSBnZW5lcmF0b3Ig
c28gdGhpcyBpcyB1bm5lZWRlZC4KICAgICBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBjcmVh
dGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJl
dHVybiBjcmVhdGVPYmplY3RTdG9yZShuYW1lLCBPcHRpb25zT2JqZWN0KCksIGVjKTsgfQotICAg
IFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiB0cmFuc2FjdGlvbihj
b250ZXh0LCAwLCBlYyk7IH0KLSAgICBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2Fj
dGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPERPTVN0cmlu
Z0xpc3Q+IHN0b3JlTmFtZXMsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJldHVybiB0cmFuc2FjdGlv
bihjb250ZXh0LCBzdG9yZU5hbWVzLCBJREJUcmFuc2FjdGlvbjo6UkVBRF9PTkxZLCBlYyk7IH0K
LSAgICBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiwgdW5zaWduZWQgc2hvcnQgbW9k
ZSwgRXhjZXB0aW9uQ29kZSYpOwotCiAgICAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gY3Jl
YXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBPcHRpb25zT2JqZWN0Jiwg
RXhjZXB0aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0
aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+LCB1
bnNpZ25lZCBzaG9ydCBtb2RlLCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1JlZlB0cjxJREJU
cmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0
cmluZyYsIHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGRl
bGV0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IFBhc3NSZWZQdHI8SURCVmVyc2lvbkNoYW5nZVJlcXVlc3Q+IHNldFZlcnNpb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgRXhjZXB0aW9uQ29kZSYpOwog
ICAgIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
RGF0YWJhc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5pZGwKaW5k
ZXggODJmNjQzNTY0ZGExZmY0NjNjZTkxZWM4N2Y4OGI2MGRhZGZiZTRmNC4uZjBiMWQwYzI4MjY1
NWI1OTZkNWQ4Y2M1Y2RmYmRjMDhlYWM0YWFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJEYXRhYmFzZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJE
YXRhYmFzZS5pZGwKQEAgLTQ1LDcgKzQ1LDExIEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAg
ICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOwogICAgICAgICBbQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dF0gSURCVmVyc2lvbkNoYW5nZVJlcXVlc3Qgc2V0VmVyc2lvbihp
biBET01TdHJpbmcgdmVyc2lvbikKICAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNl
cHRpb24pOwotICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURCVHJh
bnNhY3Rpb24gdHJhbnNhY3Rpb24oaW4gRE9NU3RyaW5nTGlzdCBzdG9yZU5hbWVzLCBpbiBbT3B0
aW9uYWxdIHVuc2lnbmVkIHNob3J0IG1vZGUpCisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbihpbiBET01TdHJpbmdMaXN0
IHN0b3JlTmFtZXMsIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gdW5zaWduZWQg
c2hvcnQgbW9kZSkKKyAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VFeGNlcHRpb24pOwor
ICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURCVHJhbnNhY3Rpb24g
dHJhbnNhY3Rpb24oaW4gRE9NU3RyaW5nW10gc3RvcmVOYW1lcywgaW4gW09wdGlvbmFsPUNhbGxX
aXRoRGVmYXVsdFZhbHVlXSB1bnNpZ25lZCBzaG9ydCBtb2RlKQorICAgICAgICAgICAgcmFpc2Vz
IChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRp
b25Db250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbihpbiBET01TdHJpbmcgc3RvcmVO
YW1lLCBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIHVuc2lnbmVkIHNob3J0IG1v
ZGUpCiAgICAgICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsKICAgICAgICAg
dm9pZCBjbG9zZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRy
YW5zYWN0aW9uQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFu
c2FjdGlvbkJhY2tlbmRJbXBsLmNwcAppbmRleCAwMTVkYTE4ZDY5YTgyOGM1NTcxNzlhMGZjMWFm
MGMxMjkzMzYyYmVmLi44YTEyMjY0YWM3NjA5M2ExMjFiOWRkYmMzMTgzZmIwOTE2MThlMGMyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZElt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbC5jcHAKQEAgLTUyLDYgKzUyLDcgQEAgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6SURC
VHJhbnNhY3Rpb25CYWNrZW5kSW1wbChET01TdHJpbmdMaXN0KiBvYmplY3RTdG9yZXMKICAgICAs
IG1fcGVuZGluZ0V2ZW50cygwKQogewogICAgIEFTU0VSVChtX29iamVjdFN0b3JlTmFtZXMpOwor
ICAgIEFTU0VSVChtX21vZGUgPT0gSURCVHJhbnNhY3Rpb246OlZFUlNJT05fQ0hBTkdFIHx8ICFt
X29iamVjdFN0b3JlTmFtZXMtPmlzRW1wdHkoKSk7CiAgICAgbV9kYXRhYmFzZS0+dHJhbnNhY3Rp
b25Db29yZGluYXRvcigpLT5kaWRDcmVhdGVUcmFuc2FjdGlvbih0aGlzKTsKIH0KIApAQCAtNjks
NyArNzAsNyBAQCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZT4gSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW1wbDo6b2JqZWN0U3RvcgogICAgIH0KIAogICAgIC8vIERvZXMg
YSBsaW5lYXIgc2VhcmNoLCBidXQgaXQgcmVhbGx5IHNob3VsZG4ndCBiZSB0aGF0IHNsb3cgaW4g
cHJhY3RpY2UuCi0gICAgaWYgKCFtX29iamVjdFN0b3JlTmFtZXMtPmlzRW1wdHkoKSAmJiAhbV9v
YmplY3RTdG9yZU5hbWVzLT5jb250YWlucyhuYW1lKSkgeworICAgIGlmIChtX21vZGUgIT0gSURC
VHJhbnNhY3Rpb246OlZFUlNJT05fQ0hBTkdFICYmICFtX29iamVjdFN0b3JlTmFtZXMtPmNvbnRh
aW5zKG5hbWUpKSB7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246Ok5PVF9GT1VO
RF9FUlI7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111860</attachid>
            <date>2011-10-20 15:43:46 -0700</date>
            <delta_ts>2011-10-26 08:58:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70251-20111020154345.patch</filename>
            <type>text/plain</type>
            <size>79306</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0ODgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2OWE1YWIwYzcxODE4ZTExMmE3NDNh
ZTY1M2U2Y2UzOTIwMTI4MThkLi5hYWVmNzBhYmRhY2NmMjVkMzE2MTFmZGI4NGI0OWIwZWZkN2M4
NGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMTEtMTAtMjAgIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFBhc3NpbmcgZW1wdHkgYXJy
YXkgdG8gSURCRGF0YWJhc2UudHJhbnNhY3Rpb24gc2hvdWxkIHJhaXNlIGV4Y2VwdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW55IHRlc3RzIHJl
bGllZCBvbiB0aGUgbm9uLXNwZWNpZmllZCBiZWhhdmlvciBvZiBwYXNzaW5nIGFuIGVtcHR5Cisg
ICAgICAgIGFycmF5IGludG8gSURCRGF0YWJhc2UudHJhbnNhY3Rpb24oKSB0byBpbmNsdWRlIGFs
bCBvYmplY3Qgc3RvcmVzIGluCisgICAgICAgIHNjb3Blcy4gV29yc2UsIG5vbi1hcnJheXMgd291
bGQgYmUgdHJlYXRlZCBhcyBlbXB0eSBhcnJheXMsIGFuZCBoZW5jZQorICAgICAgICAianVzdCB3
b3JrZWQiLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUt
b2JqZWN0LXN0b3JlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9j
cmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy5odG1sOgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0
ZWQuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sOgorICAgICAgICAq
IHN0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnkt
ZGVmYXVsdC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1l
dmVudC1hYm9ydHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2V4
Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9pbmRleC11bmlxdWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L2luZGV4LXVuaXF1ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5n
LWN1cnNvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRp
bmctY3Vyc29yLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YXV0b2luY3JlbWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtY2xlYXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWw6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1w
cm9wYWdhdGlvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFib3J0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24uaHRtbDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9z
ZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmpl
Y3RzdG9yZS1jYWxscy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRt
bDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdh
dGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5odG1sOgorCiAyMDExLTEwLTE0ICBEaW1pdHJpIEds
YXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBVcGRh
dGUgZXhwZWN0YXRpb25zIGFmdGVyIHI5NzQ4MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmpl
Y3Qtc3RvcmUtZXhwZWN0ZWQudHh0CmluZGV4IDUyOGJhODllOTVhZjA3ZThjOGY0OGQ2MzhhZjRj
MjQ4ODUxOGY2MDQuLmMzNDExYWMxNTE1NzRhYWRjNzg2MTk5M2RhMTdmNTkwZDllNWI2YWMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3Zl
LW9iamVjdC1zdG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLWV4cGVjdGVkLnR4dApAQCAtMjgs
NyArMjgsNyBAQCBkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykKIEV4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0
aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uQ09OU1RSQUlO
VF9FUlIKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEV9KQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3RtcCddKQogdHJhbnMub2Jq
ZWN0U3RvcmUoJ3RtcCcpLmdldCgwKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIHVuZGVm
aW5lZC4KIFRyeWluZyBjcmVhdGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKaW5k
ZXggNDNjMWZlMWYxYTlhMmMxZDdkZGExOGExZjM5OTUyMGU3MWU4YzgxYS4uMDRkZmY2NTRlYWQw
NjliYWNlNGZjMWFkNjk4NmIxODgyZjEwYjBhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0
b3JlLmh0bWwKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rpb24gY2xlYW5EYXRhYmFzZSgpCiAgICAg
b3MgPSBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykiKTsKICAgICBldmFs
QW5kRXhwZWN0RXhjZXB0aW9uKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgndG1wJykiLCAid2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb24uQ09OU1RSQUlOVF9FUlIiKTsKIAotICAgIHRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURX0pIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFsndG1wJ10pIik7CiAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coInRyYW5zLm9i
amVjdFN0b3JlKCd0bXAnKS5nZXQoMCkiKTsKICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHRyeU9u
Y2VNb3JlOwogICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1z
dG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy1leHBlY3RlZC50eHQKaW5kZXggNWYwZTk0ZGZi
NjAyZGY0YTcyZWEyM2M1MWU2NmExNjQwZjUwYWYwNy4uMTY1Yzg5ZmY4NjRmN2QzY2E5NGJmNjli
OTY3MGE5MTVlZmQ1NWI4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMtZXhwZWN0
ZWQudHh0CkBAIC0xMiw3ICsxMiw3IEBAIERlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnYScsIHtrZXlQYXRoOiAnYSd9KQogZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ2InKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2MnLCB7YXV0b0luY3JlbWVudDogdHJ1ZX0p
OwotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydhJywgJ2InXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkKIFBBU1MgdHJhbnMubW9kZSBpcyB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFCiB0cmFucy5vYmplY3RTdG9yZSgnYScpLnB1dCh7J2EnOiAwfSkKIHRyYW5z
Lm9iamVjdFN0b3JlKCdiJykucHV0KHsnYSc6IDB9LCAwKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMu
aHRtbAppbmRleCBiZjYwMGQ3YTllZTNjMDhjMTRjZDE0ZGJkYWVmMWMzOTJjMTg5ZDVmLi5iOWJl
Y2YzOTM5NzY4MTNiNmZiZjM4NzQ0OWVjY2Y4ZDM4NTMxNDVkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9w
dGlvbnMuaHRtbApAQCAtNDMsNyArNDMsNyBAQCBmdW5jdGlvbiBjbGVhbkRhdGFiYXNlKCkKICAg
ICBkZWJ1ZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2MnLCB7YXV0b0luY3JlbWVudDogdHJ1ZX0p
OyIpOwogICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdjJywge2F1dG9JbmNyZW1lbnQ6IHRydWV9
KTsKIAotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRM
b2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydhJywgJ2InXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKICAgICBzaG91bGRCZSgidHJhbnMubW9kZSIsICJ3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFIik7CiAKICAgICByZXEgPSBldmFsQW5kTG9nKCJ0cmFucy5v
YmplY3RTdG9yZSgnYScpLnB1dCh7J2EnOiAwfSkiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVk
LnR4dAppbmRleCAxMWNjMjkyMTJhNjE4NTFlOTU4MDE2ZmIyZDc3ZDA1NDNlZTcxOTVkLi5iYWNk
NDFkMDMzZGYwYzM3Njk5ZWQ4Mjg0NDExMWEzZGIwY2E1NThiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3kt
ZXhwZWN0ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIG9iamVjdFN0b3JlLmFkZCgnc29tZVZhbHVl
MicsICdzb21lS2V5MicpLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb2JqZWN0
U3RvcmUuYWRkKCdzb21lVmFsdWUzJywgJ3NvbWVLZXkzJykub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoJ3NvbWVWYWx1ZTQnLCAnc29tZUtleTQnKS5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2sKIG9wZW5CYXNpY0N1cnNvcigpCi10cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ2Jhc2ljU3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKIHRyYW5zLm9iamVjdFN0b3JlKCdiYXNpY1N0b3JlJykKIG9iamVjdFN0
b3JlLm9wZW5DdXJzb3Ioa2V5UmFuZ2UpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5odG1sCmluZGV4IGI5Y2NiNThiMmRj
OTlhMDQxMjYxMGYyOGI5NTkxMzM2YWY0ZjZjZGYuLjBkODU4M2E1NjVjMDUxMjE0ODkyODFhOGNl
MTU1ODkzMDE5NWQ2ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3kuaHRtbApAQCAtNTMsNyArNTMsNyBAQCBmdW5jdGlv
biBzZXRWZXJzaW9uU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVuQmFzaWNDdXJzb3IoKQogewogICAg
IGRlYnVnKCJvcGVuQmFzaWNDdXJzb3IoKSIpOwotICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAg
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ2Jhc2ljU3RvcmUnXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBl
Y3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29t
cGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1za2lwLWRlbGV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQKaW5kZXggMzE3YzkyNWE3NDcxY2Rl
YWM4ODE4YmJkMzAxZWNkYTA0NjdjZmJkMS4uZTEyOWFkOTFkNmEwNDExZGNjOTQ3Y2NiYzE3OTFm
N2VmZTcxN2RhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQKQEAgLTE2LDcgKzE2LDcg
QEAgb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ25hbWVJbmRleCcsICduYW1lJykKIHJlc2V0T2Jq
ZWN0U3RvcmUoKToKIAogYmFzaWNDdXJzb3JUZXN0KCkKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24o
W10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIAogdGVzdEN1
cnNvcigpOgogdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykub3BlbkN1cnNvcih3ZWJraXRJREJL
ZXlSYW5nZS5sb3dlckJvdW5kKDApKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sCmluZGV4IGEzYmIwZDk1ZWVhYTIyNzU2
NjhiYzlmMWE0MzUyMGVkNjkxYzM0ZTguLjA0MTMwZmVkZGIzYThlMjBhMDlhMzEzMWFmMGYzM2Fi
YzU3OGM4OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNv
ci1za2lwLWRlbGV0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKQEAgLTE0Niw3ICsxNDYsNyBAQCBmdW5jdGlvbiBiYXNp
Y0N1cnNvclRlc3QoKQogewogICAgIGRlYnVnKCJiYXNpY0N1cnNvclRlc3QoKSIpOwogCi0gICAg
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFu
cy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0
ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQKaW5kZXggOTU1YmNmOTE4
ZWRlZDQ4YmQxMWJmYWFlNGE0ZGFiOTZhYjUzZDcyZC4uNGFlYmQ1NDZlMDc1OTVjMWFjMDZiOWE4
NDE0ZTcwMjRiMGY2M2EwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTI3LDcgKzI3LDcgQEAgb2Jq
ZWN0U3RvcmUuYWRkKHtudW1iZXI6IDIsIGlkOiAyfSkub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoe251bWJlcjogMywgaWQ6IDN9KS5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2sKIG9iamVjdFN0b3JlLmFkZCh7bnVtYmVyOiA0LCBpZDog
NH0pLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb3BlbkJhc2ljQ3Vyc29yKCkK
LXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnYmFzaWNTdG9yZScsICdhdXRvSW5jcmVtZW50
U3RvcmUnLCAna2V5UGF0aFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
CiB0cmFucy5vYmplY3RTdG9yZSgnYmFzaWNTdG9yZScpCiBvYmplY3RTdG9yZS5vcGVuQ3Vyc29y
KGtleVJhbmdlKQogYmFzaWNVcGRhdGVDdXJzb3IoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCmluZGV4IDc4M2E4OGMwMTdlYzQ1OTU0MzYz
OTVjNTgwNzg0NDRhYTg0ZDQ3MzEuLmZkOTcyOTQ2OTFjZTk2MzY0YmQwMzg4ODMzZTI2OTEyYWYx
NWU4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11
cGRhdGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBk
YXRlLmh0bWwKQEAgLTY1LDcgKzY1LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQog
ZnVuY3Rpb24gb3BlbkJhc2ljQ3Vyc29yKCkKIHsKICAgICBkZWJ1Zygib3BlbkJhc2ljQ3Vyc29y
KCkiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oWydiYXNpY1N0b3JlJywgJ2F1dG9JbmNyZW1lbnRTdG9yZScsICdrZXlQYXRo
U3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5v
bmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9
IHRyYW5zYWN0aW9uQ29tcGxldGU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0CmluZGV4IGEwMmI1NGMy
ZTE4MDk2MzExZWFlZTcyYzk4OTE1YjNiZWQ4Y2MyZDMuLjMxYjE0YThmNjk0MThjNGY5MDZjNWQ0
NTQ2MzdiMWYzM2Q4NDY0YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2RhdGEtY29ycnVwdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTMsMTAgKzEzLDEw
IEBAIFBBU1MgdHJhbnMgIT09IG51bGwgaXMgdHJ1ZQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jl
cy4KIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogYWRkRGF0YSgpOgotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykuYWRkKHt4OiB0ZXN0RGF0ZX0sICdrZXknKQogYWRkRGF0YSgpOgotdHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9P
TkxZKQordHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX09OTFkpCiByZXF1ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3Rv
cmUoJ3N0b3JlTmFtZScpLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC54LnRv
U3RyaW5nKCkgPT0gdGVzdERhdGUudG9TdHJpbmcoKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9kYXRhLWNvcnJ1cHRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Rh
dGEtY29ycnVwdGlvbi5odG1sCmluZGV4IGVhNzkyOGIxOGJmODViZWZlM2I0ODI2Nzg4ZjQ2ZjVh
NGY4MmMwYTMuLjBhZGIyMzVlNWJmOGRmNmJlMGYyMDY1N2YzN2QyNTY3OGQzNDkyOWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1s
CkBAIC00OSw3ICs0OSw3IEBAIHZhciB0ZXN0RGF0ZSA9IG5ldyBEYXRlKCdGZWJydWFyeSAyNCwg
MTk1NSAxMjowMDowOCcpOwogZnVuY3Rpb24gYWRkRGF0YSgpCiB7CiAgICAgZGVidWcoImFkZERh
dGEoKToiKTsKLSAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwor
ICAgIHZhciB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsK
ICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSB0cmFuc2FjdGlvbi5vYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJykuYWRkKHt4OiB0ZXN0RGF0ZX0sICdrZXknKSIpOwogICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHRyYW5zYWN0aW9u
Lm9uY29tcGxldGUgPSBnZXREYXRhOwpAQCAtNTgsNyArNTgsNyBAQCBmdW5jdGlvbiBhZGREYXRh
KCkKIGZ1bmN0aW9uIGdldERhdGEoKQogewogICAgIGRlYnVnKCJhZGREYXRhKCk6Iik7Ci0gICAg
dmFyIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlv
bihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKSIpOworICAgIHZhciB0cmFuc2Fj
dGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5h
bWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKSIpOwogICAgIHZhciByZXF1ZXN0
ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKS5nZXQoJ2tleScpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkb0NoZWNrOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKaW5kZXggMmU2MjJm
MDQ1NThlY2E3ZTBmMGVhNzU3NDFiNGRlMWNmNDVmOGI4Yi4uN2FkMGM0ODI2OWY4YTAzMjA0MWE4
ZWNhNTJjOThmY2YwNDEzMTY3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9kYXRhYmFzZS1xdW90YS5odG1sCkBAIC02MSw3ICs2MSw3IEBAIGZ1bmN0aW9uIGNoZWNr
T2JqZWN0U3RvcmUoKQogCiBmdW5jdGlvbiBjaGVja1F1b3RhRW5mb3JjaW5nKCkKIHsKLSAgICB2
YXIgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2co
InRyYW5zID0gZGIudHJhbnNhY3Rpb24oWyd0ZXN0MTIzJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHRlc3RDb21wbGV0ZTsKICAgICB0
cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2s7CiAgICAgZGVidWco
IkNyZWF0aW5nICdkYXRhJyB3aGljaCBjb250YWlucyA2NEsgb2YgZGF0YSIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRl
ZmF1bHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3It
Y2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0CmluZGV4IDk2ZjRiNjVmNjQ3MTc3
MjAzN2I3N2IyNDgwOWIxOTg2N2QzYmQ4MzMuLjhhNTVkOWY3NzI0ZTVmMjNkODM1NDNlZjA3ZWQ2
NTQyYWYwMWFiNDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vy
cm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC1leHBlY3Rl
ZC50eHQKQEAgLTEyLDcgKzEyLDcgQEAgUEFTUyB0cmFucyAhPT0gbnVsbCBpcyB0cnVlCiB0cmFu
cy5vbmNvbXBsZXRlID0gYWRkRGF0YQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKQotdHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRy
YW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9
IHRyYW5zYWN0aW9uQ29tcGxldGVkCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5h
bWUnKQpAQCAtMjIsNyArMjIsNyBAQCBldmVudC5wcmV2ZW50RGVmYXVsdCgpCiBQQVNTIFRyYW5z
YWN0aW9uIGNvbXBsZXRlZAogCiAKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0g
dHJhbnNhY3Rpb25BYm9ydGVkMQogdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0
ZUNhbGxiYWNrCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQpAQCAtMzEs
NyArMzEsNyBAQCBEb2luZyBub3RoaW5nIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYWN0aW9uLi4u
CiBQQVNTIFRyYW5zYWN0aW9uIGFib3J0ZWQKIAogCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMu
b25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDIKIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVj
dGVkQ29tcGxldGVDYWxsYmFjawogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNl
cy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9l
cnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sCmluZGV4IDhjZTZkMDdkNzUxN2RiYTg2
YWExMGMzMzg2N2ZhN2U4ODFmZDU2ZjkuLmQxOThiMGFjYzE1ZGU1NjA4ZmQ4ZmRkZDk1ZDhmYmZk
MDMxMTg2NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9y
LWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRtbApAQCAtNDUsNyArNDUs
NyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiAKIGZ1bmN0aW9uIGFkZERhdGEoKQogewot
ICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRy
YW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3Rl
ZEFib3J0Q2FsbGJhY2siKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdHJh
bnNhY3Rpb25Db21wbGV0ZWQiKTsKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJh
bnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CkBAIC03Miw3ICs3Miw3IEBAIGZ1bmN0aW9u
IHRyYW5zYWN0aW9uQ29tcGxldGVkKCkKICAgICB0ZXN0UGFzc2VkKCJUcmFuc2FjdGlvbiBjb21w
bGV0ZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIiIpOwotICAgIHRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsK
ICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkMSIpOwog
ICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxs
YmFjayIpOwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykiKTsKQEAgLTkxLDcgKzkxLDcgQEAgZnVuY3Rpb24gdHJhbnNhY3Rpb25B
Ym9ydGVkMSgpCiAgICAgdGVzdFBhc3NlZCgiVHJhbnNhY3Rpb24gYWJvcnRlZCIpOwogICAgIGRl
YnVnKCIiKTsKICAgICBkZWJ1ZygiIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwor
ICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFt
ZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2co
InRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygi
dHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrIik7CiAgICAgc3Rv
cmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWlu
LWV2ZW50LWFib3J0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4dAppbmRleCBkNGI3NGZhZGYx
MjcwY2VlZTAzZGM1ZjUxY2M4YWJlYzQ3ZWJkYmEwLi5lOTc4NWNiMTZhOGYyNWUzMWZjZWE2Yjk4
ZDg4NzZmN2YyMzIxMDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLWV4cGVjdGVkLnR4
dApAQCAtMTYsNyArMTYsNyBAQCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3Zh
bHVlJywgeTogJ3p6eid9LCAna2V5JykKIAotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJv
cnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQxCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENv
bXBsZXRlQ2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCkBA
IC0yNiw3ICsyNiw3IEBAIGV2ZW50LnByZXZlbnREZWZhdWx0KCkKIFRocm93aW5nCiAKIFBBU1Mg
VGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9u
YWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3Rl
ZENvbXBsZXRlQ2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScp
CkBAIC0zNiw3ICszNiw3IEBAIGV2ZW50LnByZXZlbnREZWZhdWx0KCkKIFRocm93aW5nCiAKIFBB
U1MgVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihb
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5z
Lm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9IHRy
YW5zYWN0aW9uQ29tcGxldGVkMQogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKQEAgLTQ2LDcgKzQ2LDcgQEAgZXZlbnQucHJldmVudERlZmF1bHQoKQogVGhyb3dpbmcgd2l0
aGluIGEgdHJ5IGJsb2NrCiAKIFBBU1MgVGhlIHRyYW5zYWN0aW9uIGNvbXBsZXRlZC4KLXRyYW5z
ID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sKIHRy
YW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlZDIKIHN0b3JlID0gdHJhbnMub2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQtYWJvcnRzLmh0bWwKaW5kZXggODllMjdl
ZjBkZGRhMmQzOGQ5MGVhMGRjMjZkOWQyYzYyNTRhMTUxNy4uOWY1MjJiZTFiNThkMjA4MGI5ZmUz
ZmFhN2NlNzAxMzg4NGIwOTczOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRtbApAQCAtNDgsNyAr
NDgsNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlvbiBzdGFydFRlc3QoKQog
ewogICAgIGRlYnVnKCIiKTsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJh
bnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJh
bnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMu
b25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDEiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5v
bmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2siKTsKICAgICBzdG9yZSA9IGV2
YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CkBAIC02
OSw3ICs2OSw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZDEoKQogewogICAgIGRlYnVn
KCIiKTsKICAgICB0ZXN0UGFzc2VkKCJUaGUgdHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQuIik7Ci0g
ICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJh
bnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlv
bkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0
ZWRDb21wbGV0ZUNhbGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRy
YW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAtODIsNyArODIsNyBAQCBmdW5jdGlv
biB0cmFuc2FjdGlvbkFib3J0ZWQyKCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAgdGVzdFBhc3Nl
ZCgiVGhlIHRyYW5zYWN0aW9uIHdhcyBhYm9ydGVkLiIpOwotICAgIHRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAg
ICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdHJhbnNhY3Rpb25Db21wbGV0ZWQxIik7
CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKSIpOwpAQCAtMTA3LDcgKzEwNyw3IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQ29tcGxl
dGVkMSgpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIHRlc3RQYXNzZWQoIlRoZSB0cmFuc2FjdGlv
biBjb21wbGV0ZWQuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5z
YWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9u
YWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjayIpOwogICAgIGV2YWxBbmRMb2coInRyYW5z
Lm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlZDIiKTsKICAgICBzdG9yZSA9IGV2YWxB
bmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLWV4cGVjdGVk
LnR4dAppbmRleCA5ZjEwZjQxNDRmZmQ0OGE1NmI4ZDU4YWY5MGYwOWJjNmY0MzE4ZjhlLi5iMWEw
MjczMDM0N2FlZjQ4ZTMzMTZjMjU2ZTY4MGU4ZDY0NjM4NjY3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS1leHBlY3RlZC50eHQKQEAg
LTEzLDcgKzEzLDcgQEAgRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIGRiLmNyZWF0ZU9iamVj
dFN0b3JlKCdzdG9yZScpCiBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAneCcsIHt1bmlxdWU6
IHRydWV9KQogc2V0VmVyc2lvbkNvbXBsZXRlZCgpOgotdHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KQogdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt4OiAxfSwgJ2ZvbycpCiBh
ZGRNb3JlRGF0YSgpOgogdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJykucHV0KHt4OiAx
fSwgJ2JhcicpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC11bmlxdWUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1
ZS5odG1sCmluZGV4IDUwYjYzOWJiNmQxYzcwYzEwODNjOTY2MDZlYjY3NTUzMGY5ODQyZjguLmIw
N2UxODQwM2I4MmY5NjU4ZGZjNjZmM2I0NTYxZWMzMDkxNjVhMWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS5odG1sCkBAIC00OSw3ICs0OSw3IEBA
IGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIGZ1bmN0aW9uIHNldFZlcnNpb25Db21wbGV0ZWQo
KQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7Ci0gICAgd2luZG93LnRy
YW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB3aW5kb3cudHJhbnNhY3Rp
b24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKIAogICAgIHJlcXVlc3QgPSBldmFs
QW5kTG9nKCJ0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKS5wdXQoe3g6IDF9LCAnZm9v
JykiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJz
b3ItZXhwZWN0ZWQudHh0CmluZGV4IDI3MGIyNGZlNzQ2ZTZhYzA3ZTllNmI5OWIzMTE2NDJkY2Vm
ODIxNjAuLjJiODliNjFhYWZkNmZjNDc5MTJjNzMxODc1MWQyMWNiMDBlMjc3YmYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29y
LWV4cGVjdGVkLnR4dApAQCAtMTYsNyArMTYsNyBAQCBvYmplY3RTdG9yZS5hZGQoMiwgMikub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoMywgMykub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmplY3RTdG9yZS5hZGQoNCwgNCkub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvcGVuRm9yd2FyZEN1cnNvcigpCi10cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpCiB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQogb2JqZWN0U3RvcmUub3BlbkN1
cnNvcigpCiBmb3J3YXJkQ3Vyc29yKCkKQEAgLTQ5LDcgKzQ5LDcgQEAgZm9yd2FyZEN1cnNvcigp
CiBQQVNTIGN1cnNvclN0ZXBzIGlzIDUKIGZvcndhcmRDdXJzb3JDb21wbGV0ZSgpCiBvcGVuUmV2
ZXJzZUN1cnNvcigpCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQog
b2JqZWN0U3RvcmUub3BlbkN1cnNvcihudWxsLCB3ZWJraXRJREJDdXJzb3IuUFJFVikKIHJldmVy
c2VDdXJzb3IoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0
YXRpbmctY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGlu
Zy1jdXJzb3IuaHRtbAppbmRleCA1ODA4ZGI3NzUxOWMyMTk0NTg5NGQ1MzdmOWVlODc2ZjQ3NWIy
Njc3Li5jZjE5MWJiNGQ3MDY3NDBmMTA3NjM5Mjc4Y2VhZWVjZjc0NjZjZDNmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbApAQCAt
NTIsNyArNTIsNyBAQCBmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCiBmdW5jdGlvbiBvcGVu
Rm9yd2FyZEN1cnNvcigpCiB7CiAgICAgZGVidWcoIm9wZW5Gb3J3YXJkQ3Vyc29yKCkiKTsKLSAg
ICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRy
YW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBs
ZXRlID0gZm9yd2FyZEN1cnNvckNvbXBsZXRlOwogCkBAIC05Nyw3ICs5Nyw3IEBAIGZ1bmN0aW9u
IGZvcndhcmRDdXJzb3JDb21wbGV0ZSgpCiBmdW5jdGlvbiBvcGVuUmV2ZXJzZUN1cnNvcigpCiB7
CiAgICAgZGVidWcoIm9wZW5SZXZlcnNlQ3Vyc29yKCkiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
OworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4
cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gcmV2ZXJzZUN1cnNv
ckNvbXBsZXRlOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1hdXRvaW5jcmVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4
IDg3ZTQ3N2JlZThjYzk3ZTg3ZDQ3MmM1MTcyZTcwNTUwMGQ2YTlhYzQuLjQ4YjExYmIwYjkwM2Jh
ODY3NTMxYzY2YTY5YzZlOTViM2YwNTJiNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQt
ZXhwZWN0ZWQudHh0CkBAIC0yMyw3ICsyMyw3IEBAIFBBU1Mgc3RvcmVOYW1lcy5jb250YWlucygn
U3RvcmVXaXRoQXV0b0luY3JlbWVudCcpIGlzIHRydWUKIFBBU1Mgc3RvcmVOYW1lcy5jb250YWlu
cygnUGxhaW5PbGRTdG9yZScpIGlzIHRydWUKIFBBU1Mgc3RvcmVOYW1lcy5sZW5ndGggaXMgMwog
c2V0VmVyc2lvbkNvbXBsZXRlZCgpOgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydTdG9y
ZVdpdGhLZXlQYXRoJywgJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnLCAnUGxhaW5PbGRTdG9yZSdd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0cmFucy5vYmplY3RT
dG9yZSgnU3RvcmVXaXRoS2V5UGF0aCcpCiBJbnNlcnQgaW50byBvYmplY3Qgc3RvcmUgd2l0aCBh
dXRvIGluY3JlbWVudCBhbmQga2V5IHBhdGgsIHdpdGgga2V5IGluIHRoZSBvYmplY3QuCiBzdG9y
ZS5hZGQoe25hbWU6ICdKZWZmZXJzc29uJywgbnVtYmVyOiAnNzAxMCcsIGlkOiAzfSkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNy
ZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWF1
dG9pbmNyZW1lbnQuaHRtbAppbmRleCAwOTQ1Yzg0MThiOTA2OWNlZDk0YmUxMDY3MThjYjhmZGEw
OWVlMzU3Li5jZjNlNTY4YjMzODExYWNhNzQ4NTM5NTg4ODdhODVkZDYzMDI1ZDk0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVt
ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YXV0b2luY3JlbWVudC5odG1sCkBAIC02MSw3ICs2MSw3IEBAIGZ1bmN0aW9uIHNldFZlcnNpb25D
b21wbGV0ZWQoKQogewogICAgIGRlYnVnKCJzZXRWZXJzaW9uQ29tcGxldGVkKCk6Iik7CiAKLSAg
ICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHdpbmRvdy50cmFucyA9IGV2
YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydTdG9yZVdpdGhLZXlQYXRoJywgJ1N0
b3JlV2l0aEF1dG9JbmNyZW1lbnQnLCAnUGxhaW5PbGRTdG9yZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRD
YWxsYmFjazsKICAgICB0cmFucy5vbmNvbXBsZXRlID0gZG9uZTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBl
Y3RlZC50eHQKaW5kZXggYjc1ZWQzM2UxMWU1ZTRhNTQ0Y2U5Njg2MjJlZTU5MDhjZjliNjdkZS4u
OTE1MGRlZTQyNDUyZmQzN2RlOWNjMzZhM2I2NjdmOWQzYTg4M2VmMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3Mt
ZXhwZWN0ZWQudHh0CkBAIC00OSw3ICs0OSw3IEBAIFBBU1Mgc3RvcmUuaW5kZXhOYW1lc1sxXSBp
cyBudWxsCiBQQVNTIHN0b3JlLmluZGV4TmFtZXNbMTAwXSBpcyBudWxsCiBQQVNTIHN0b3JlLmlu
ZGV4TmFtZXMuaXRlbSgxKSBpcyBudWxsCiBQQVNTIHN0b3JlLmluZGV4TmFtZXMuaXRlbSgxMDAp
IGlzIG51bGwKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCit0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBzdG9yZSA9IHRyYW5zYWN0
aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogVHJ5IHRvIGluc2VydCBkYXRhIHdpdGggYSBE
YXRlIGtleToKIHN0b3JlLmFkZCh7eDogJ2Zvbyd9LCB0ZXN0RGF0ZSkKQEAgLTY1LDE5ICs2NSwx
OSBAQCBldmVudC50YXJnZXQuc291cmNlLmFkZCh7eDogJ2Zvbyd9LCAnenp6JykKIGFkZEFnYWlu
RmFpbHVyZSgpOgogUEFTUyBldmVudC50YXJnZXQuZXJyb3JDb2RlIGlzIHdlYmtpdElEQkRhdGFi
YXNlRXhjZXB0aW9uLkNPTlNUUkFJTlRfRVJSCiBldmVudC5wcmV2ZW50RGVmYXVsdCgpCi1kYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK2RiLnRyYW5z
YWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBz
dG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQogRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKLWRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKQorZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFt
ZScpCiBzdG9yZS5hZGQoe3g6IG51bGx9LCAndmFsaWRrZXknKQogUEFTUyBldmVudC5jYW5jZWxh
YmxlIGlzIHRydWUKIGFkZFdpdGhOdWxsSW5kZXhGYWlsdXJlKCk6CiBQQVNTIGV2ZW50LnRhcmdl
dC5lcnJvckNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIGV2ZW50
LnByZXZlbnREZWZhdWx0KCkKLWRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKQorZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkKIHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpCiBzdG9yZS5nZXQoJ2tleScpCiBnZXRTdWNjZXNzKCk6CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCmluZGV4
IDY0MWQ2ZTllZjliMzY4YzNmZDZjZjEyODI3M2I3MzU4NmM4ZmNjYTcuLmY0NzFlY2ZkYTk1NThj
NWMwYjZkNjYwOWVmZDk5OGY2ZGY3NmY4ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCkBAIC0xMzQsNyArMTM0LDcg
QEAgdmFyIHRlc3REYXRlQiA9IG5ldyBEYXRlKCJXZWQgSmFuIDA1IDIwMTEgMTU6NTQ6NDkiKTsK
IAogZnVuY3Rpb24gYWRkRGF0YSgpCiB7Ci0gICAgdmFyIHRyYW5zYWN0aW9uID0gZXZhbEFuZExv
ZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKKyAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2Fj
dGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dENhbGxiYWNrOwogICAgIHdpbmRvdy5zdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNh
Y3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAKQEAgLTE4MCwxMyArMTgwLDEzIEBA
IGZ1bmN0aW9uIGFkZEFnYWluRmFpbHVyZSgpCiAKICAgICBldmFsQW5kTG9nKCJldmVudC5wcmV2
ZW50RGVmYXVsdCgpIik7CiAKLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5z
YWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5z
YWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3Rv
cmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIAogICAgIGV2YWxB
bmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmFkZCh7eDogJ290aGVydmFsdWUnfSwgbnVsbCkiLCAi
d2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAotICAgIHRyYW5zYWN0aW9u
ID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpIik7CisgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlv
bihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAg
IHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICB2YXIg
c3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9y
ZU5hbWUnKSIpOwogCkBAIC0yMDMsNyArMjAzLDcgQEAgZnVuY3Rpb24gYWRkV2l0aE51bGxJbmRl
eEZhaWx1cmUoKQogCiAgICAgZXZhbEFuZExvZygiZXZlbnQucHJldmVudERlZmF1bHQoKSIpOwog
Ci0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRM
b2coImRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLWV4cGVjdGVkLnR4dAppbmRl
eCAyODc1ZmQ2YjI5OWQ3ZDU0NzI0MjhkYTI4ZTkzYjlmZDE5MGUzNTk5Li40YTgyNDkzNTM4N2I4
YWNhOTg3MDczMjc3NmNhODQwZTI4ODUzMjA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXItZXhwZWN0ZWQudHh0CkBA
IC0yMyw3ICsyMyw3IEBAIGluZGV4ID0gc3RvcmUuaW5kZXgoJ2luZGV4TmFtZScpCiBpbmRleC5v
cGVuS2V5Q3Vyc29yKCkKIG9wZW5LZXlDdXJzb3JTdWNjZXNzKCk6CiBQQVNTIGV2ZW50LnRhcmdl
dC5yZXN1bHQgaXMgbnVsbAotZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEV9KQorZGIudHJhbnNhY3Rpb24oWydvdGhlclN0b3JlTmFtZSddKQogb3Ro
ZXJTdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdvdGhlclN0b3JlTmFtZScpCiBvdGhl
clN0b3JlLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAidmFsdWUiCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVh
ci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIu
aHRtbAppbmRleCBmMTg4NDhiNDRkOWE1NDMyODhiYjk4NTBlNWRkYzA0M2QzMmRkODNlLi4wM2Rk
NWRkM2IyNDUwNDNlZjU5MmE3MzNmYjcyMDFjMWUwNmE2MTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLmh0bWwKQEAgLTg3LDcg
Kzg3LDcgQEAgZnVuY3Rpb24gb3BlbktleUN1cnNvclN1Y2Nlc3MoKQogICAgIGRlYnVnKCJvcGVu
S2V5Q3Vyc29yU3VjY2VzcygpOiIpOwogICAgIHNob3VsZEJlTnVsbCgiZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOwogCi0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbih7
bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pIik7CisgICAgdHJhbnNhY3Rp
b24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ290aGVyU3RvcmVOYW1lJ10pIik7CiAg
ICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZh
ciBvdGhlclN0b3JlID0gZXZhbEFuZExvZygib3RoZXJTdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdvdGhlclN0b3JlTmFtZScpIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVj
dHN0b3JlLWV4cGVjdGVkLnR4dAppbmRleCA3N2VkMDFmY2Y4NDA0NjY4MzU2MGE4NTcxY2IzYjY1
MmM1N2FiNTVhLi40MDdkMzZmMzhhYTBmNjk3YzdiOTk1Yzg1MDI1YWZmYWI0MTlmMjE1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVv
YmplY3RzdG9yZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0CkBAIC0xMyw3ICsx
Myw3IEBAIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCiBz
dG9yZS5jcmVhdGVJbmRleCgnaW5kZXhOYW1lJywgJycpCiBQQVNTIHN0b3JlLmluZGV4TmFtZXMu
Y29udGFpbnMoJ2luZGV4TmFtZScpIGlzIHRydWUKIHN0b3JlLmFkZCgndmFsdWUnLCAna2V5JykK
LWRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkK
K2RiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQogc3RvcmUuZ2V0KCdrZXknKQogUEFTUyBldmVudC50YXJnZXQu
cmVzdWx0IGlzICJ2YWx1ZSIKQEAgLTIyLDcgKzIyLDcgQEAgdHJhbnMgPSBldmVudC50YXJnZXQu
cmVzdWx0CiBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRydWUKIGRiLmRlbGV0ZU9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKQogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCi1k
Yi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pCitk
Yi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RT
dG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJl
c3VsdCBpcyB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCmluZGV4IGY0
NGIyN2VjNDE1MWJmOGI1Y2ZhMTNmZjUyODQzMjJiMjU4NzMyYzAuLjUxZmRlY2I3MmZkNTRhZWM1
ZmMwZmM3ZDE4ZjU0MTkyMWFhZjllMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRt
bApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiAKIGZ1bmN0aW9u
IGdldFZhbHVlKCkKIHsKLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0
aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsKKyAgICB0cmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pIik7CiAg
ICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZh
ciBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlTmFtZScpIik7CiAKQEAgLTg1LDcgKzg1LDcgQEAgZnVuY3Rpb24gY3JlYXRlT2JqZWN0U3Rv
cmVBZ2FpbigpCiAKIGZ1bmN0aW9uIGdldFZhbHVlQWdhaW4oKQogewotICAgIHRyYW5zYWN0aW9u
ID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEV9KSIpOworICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNh
Y3Rpb24oWydzdG9yZU5hbWUnXSkiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXBy
b3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmNzFmNzgxZDcxODRlM2M4OWRkMmEyODliNmQ2
MDliNDYxNjA4N2IyLi5mOGM2ZGY3ZWYzMzFjYzBhZjIxMzQ1YzRmMGIxNTE5MzA1Yjc1NjAwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXBy
b3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTQsNyArMTQsNyBA
QCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVlJywgeTogJ3p6eid9LCAn
a2V5JykKIFZlcmlmeSB0aGF0IGhhbmRsZXIgZmlyZXMgYW5kIHRoYXQgbm90IHByZXZlbnRpbmcg
ZGVmYXVsdCB3aWxsIHJlc3VsdCBpbiBhbiBhYm9ydAotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihb
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5z
Lm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQKIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVj
dGVkQ29tcGxldGVDYWxsYmFjawogdHJhbnMub25lcnJvciA9IGFsbG93RGVmYXVsdApAQCAtMjUs
NyArMjUsNyBAQCBEb2luZyBub3RoaW5nIHRvIHByZXZlbnQgdGhlIGRlZmF1bHQgYWN0aW9uLi4u
CiBQQVNTIGhhbmRsZXJGaXJlZCBpcyB0cnVlCiAKIFZlcmlmaW5nIGVycm9yCi10cmFucyA9IGRi
LnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKQogdHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDIKIHRyYW5zLm9uY29t
cGxldGUgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogdHJhbnMuYWRkRXZlbnRMaXN0ZW5lcign
ZXJyb3InLCBlcnJvckNhcHR1cmVDYWxsYmFjaywgdHJ1ZSkKQEAgLTkyLDcgKzkyLDcgQEAgUEFT
UyBidWJibGVGaXJlZCBpcyB0cnVlCiBQQVNTIGRiQnViYmxlRmlyZWQgaXMgdHJ1ZQogCiBWZXJp
ZmluZyBzdWNjZXNzLgotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zLm9uY29tcGxldGUgPSB0cmFu
c2FjdGlvbkNvbXBsZXRlCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sK
IHRyYW5zLmFkZEV2ZW50TGlzdGVuZXIoJ3N1Y2Nlc3MnLCBzdWNjZXNzQ2FwdHVyZUNhbGxiYWNr
LCB0cnVlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVz
dC1ldmVudC1wcm9wYWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
cmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCmluZGV4IDNiMWRhM2JlOTM1ZDU3OTY1YWMw
YmVjMjZmOThjNWU1YWI2NmJhZGUuLmQ3ZmJlZTJmMmI1NjkxZmQ2NTc4MDY2NmI1MWMyMjU0MWU0
YjM0M2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3Qt
ZXZlbnQtcHJvcGFnYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKQEAgLTQ4LDcgKzQ4LDcgQEAgZnVuY3Rp
b24gZGVsZXRlRXhpc3RpbmcoKQogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKICAgICBkZWJ1Zygi
VmVyaWZ5IHRoYXQgaGFuZGxlciBmaXJlcyBhbmQgdGhhdCBub3QgcHJldmVudGluZyBkZWZhdWx0
IHdpbGwgcmVzdWx0IGluIGFuIGFib3J0Iik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
OworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3Jl
TmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRM
b2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQiKTsKICAgICBldmFsQW5kTG9n
KCJ0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2siKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmVycm9yID0gYWxsb3dEZWZhdWx0Iik7CkBAIC03MCw3ICs3MCw3
IEBAIGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZCgpCiAgICAgc2hvdWxkQmVUcnVlKCJoYW5k
bGVyRmlyZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlZlcmlmaW5nIGVycm9yIik7
Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2Fj
dGlvbkFib3J0ZWQyIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMuYWRkRXZlbnRMaXN0
ZW5lcignZXJyb3InLCBlcnJvckNhcHR1cmVDYWxsYmFjaywgdHJ1ZSkiKTsKQEAgLTE3Myw3ICsx
NzMsNyBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQyKCkKICAgICBzaG91bGRCZVRydWUo
ImRiQnViYmxlRmlyZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIlZlcmlmaW5nIHN1
Y2Nlc3MuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9u
KFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxl
dGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25hYm9y
dCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMuYWRk
RXZlbnRMaXN0ZW5lcignc3VjY2VzcycsIHN1Y2Nlc3NDYXB0dXJlQ2FsbGJhY2ssIHRydWUpIik7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1h
Ym9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1hYm9ydC1leHBlY3RlZC50eHQKaW5kZXggYzNiY2I3MDY5YTcwM2YwM2M3OTBkMWVlOTFi
NDdhMThlNzZiZDk3Mi4uYjIwODllMDkzOTIxMjdiMGE0Mzg1Yjg3MzA0NWJkYTViMWJkNDI0MSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJv
cnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWFib3J0LWV4cGVjdGVkLnR4dApAQCAtMTMsNyArMTMsNyBAQCB0cmFucy5vbmNvbXBs
ZXRlID0gc3RhcnRUZXN0CiBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3ZhbHVl
JywgeTogJ3p6eid9LCAna2V5JykKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0g
dHJhbnNhY3Rpb25BYm9ydGVkCiB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRl
Q2FsbGJhY2sKIHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRo
LWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQKaW5kZXgg
OWEyMTZlOTRhYTNkMDIxMjMxNGY1NmI0OTQ1M2FlMzgzOWVhNWUwOS4uN2ExZmZhZjczMzRiMmQ1
MTFhMDdhODY0MDcyYWQ1ZDcwZTcxMzVkYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0
LXdpdGgtanMtcmVjdXJzaW9uLWV4cGVjdGVkLnR4dApAQCAtOCw5ICs4LDkgQEAgUEFTUyB3ZWJr
aXRJbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQogd2Via2l0SW5kZXhlZERCLm9wZW4oJ3RyYW5z
YWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uJykKIGRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dAogZGIuc2V0VmVyc2lvbignbmV3IHZlcnNpb24nKQotcGVuZGluZ1RyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitwZW5kaW5n
VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ29iamVjdFN0b3JlJ10sIHdlYmtpdElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpCiBTdGFydCByZS1lbnRyYW50IEpTCi10cmFuc2FjdGlvbiA9
IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ29iamVjdFN0b3JlJ10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCiBFbmQgcmUtZW50cmFudCBKUwogc3RvcmUgPSBwZW5kaW5nVHJh
bnNhY3Rpb24ub2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJykKIFBBU1Mgc3RvcmUgIT09IHVuZGVm
aW5lZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24uaHRtbApp
bmRleCBkMGNkZTAzY2MyZjVkODdhNzkzOGU3ZGJhMmRhMGQ1NmNlNWM0MGU3Li5jZWQ2ZWMzZWQw
M2YzMDcxOTVhNjIwZWM4YTkyNzM5YTYwYTFkMDZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdp
dGgtanMtcmVjdXJzaW9uLmh0bWwKQEAgLTM2LDggKzM2LDkgQEAgZnVuY3Rpb24gc2V0VmVyc2lv
bigpIHsKIH0NCiANCiBmdW5jdGlvbiBjbGljaygpIHsNCisgICAgc3RvcmUgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnb2JqZWN0U3RvcmUnLCBudWxsKTsNCiAgICAgYm9keS5vbmNsaWNrID0gdGVz
dDsNCi0gICAgdmFyIHBlbmRpbmdUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInBlbmRpbmdUcmFu
c2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKSIpOw0KKyAgICB2YXIgcGVuZGluZ1RyYW5zYWN0aW9uID0gZXZhbEFuZExvZygicGVuZGlu
Z1RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBwZW5kaW5nVHJhbnNhY3Rpb24ub25zdWNj
ZXNzID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogICAgIHBlbmRpbmdUcmFuc2FjdGlvbi5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7DQogICAgIHBlbmRpbmdUcmFuc2FjdGlv
bi5vbmFib3J0ID0gYWJvcnRDYWxsYmFjazsNCkBAIC01Miw4ICs1Myw3IEBAIGZ1bmN0aW9uIGNs
aWNrKCkgewogZnVuY3Rpb24gdGVzdCgpDQogew0KICAgICBkZWJ1ZygiU3RhcnQgcmUtZW50cmFu
dCBKUyIpOw0KLSAgICBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdvYmplY3RTdG9yZScs
IG51bGwpOw0KLSAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7DQorICAg
IHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihb
J29iamVjdFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7DQogICAg
IGRlYnVnKCJFbmQgcmUtZW50cmFudCBKUyIpOw0KIH0NCiANCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAppbmRleCA2YmQwYzAw
ZDM4NGY1ZDQ5YTRjNTNiOWY1ZjBjNmVlZGZiZmIyZDU0Li4xZDI4MDI3MGI4NzY1N2IyYzhhNWM3
ZDhjOWJiZThiNzQ4ZDg3NjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwKQEAgLTQ3LDcgKzQ3LDcgQEAgZnVuY3Rpb24g
ZGVsZXRlRXhpc3RpbmcoKQogCiBmdW5jdGlvbiBzdGFydFRlc3QoKQogewotICAgIHRyYW5zID0g
ZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJh
bnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSki
KTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkIik7
CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNh
bGxiYWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDZiZTU3OTU2YWI4Nzk3ZDJjNTU1ZDU1YTllY2NhNDQwOTA3Y2MzMGQuLjIzOGUxNTkxZmQ5
NzllZmZlM2Y2ZGFkYTQ1ZGZlNGFlYWRlNDI5YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS1l
eHBlY3RlZC50eHQKQEAgLTE0LDE3ICsxNCwxNyBAQCBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0
b3JlKCdzdG9yZScpCiByZXF1ZXN0ID0gc3RvcmUucHV0KCd4JywgJ3knKQogUEFTUyBQdXQgc3Vj
Y2VzcwogcnVubmluZyBmaXJzdCB0cmFuc2FjdGlvbgotY3VycmVudFRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitjdXJyZW50
VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpCiBvYmplY3RTdG9yZS5wdXQoJ2EnLCAnYicpCiBkYi5jbG9zZSgpCi1F
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rp
b24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5OT1RfQUxMT1dFRF9FUlIKIAogdmVyaWZ5IHRoYXQgd2UgY2FuIHJlb3BlbiB0aGUgZGIgYWZ0
ZXIgY2FsbGluZyBjbG9zZQogd2Via2l0SW5kZXhlZERCLm9wZW4oJ3RyYW5zYWN0aW9uLWFmdGVy
LWNsb3NlJykKIHNlY29uZF9kYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWN1cnJlbnRUcmFuc2Fj
dGlvbiA9IHNlY29uZF9kYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkKK2N1cnJlbnRUcmFuc2FjdGlvbiA9IHNlY29uZF9kYi50cmFuc2FjdGlvbihbJ3N0
b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiByZXF1ZXN0ID0gc3RvcmUu
cHV0KCcxJywgJzInKQogUEFTUyBmaW5hbCBwdXQgc3VjY2VzcwogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwKaW5kZXggMTNhZWU2MDhkYjU4MWU5MjRk
ZjhiZjE3ZmMxZjhjMWE3OTkzNWM2MS4uMjAzNTliMTE2MmI3ZmNhZjkxMDY1MDcwZTYzZmU2MmQ5
MmViMmIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYWZ0ZXItY2xvc2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sCkBAIC01Myw3ICs1Myw3IEBAIGZ1bmN0aW9u
IG9uUHV0U3VjY2VzcygpCiBmdW5jdGlvbiBydW5GaXJzdFJlZ3VsYXJUcmFuc2FjdGlvbigpDQog
ew0KICAgICBkZWJ1ZygicnVubmluZyBmaXJzdCB0cmFuc2FjdGlvbiIpDQotICAgIGN1cnJlbnRU
cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KKyAgICBjdXJyZW50
VHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7DQogICAg
IGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7DQog
ICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZmlyc3RUcmFuc2FjdGlvbkNvbXBs
ZXRlOw0KICAgICBvYmplY3RTdG9yZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgn
c3RvcmUnKTsNCkBAIC02NCw3ICs2NCw3IEBAIGZ1bmN0aW9uIHJ1bkZpcnN0UmVndWxhclRyYW5z
YWN0aW9uKCkKIGZ1bmN0aW9uIGZpcnN0VHJhbnNhY3Rpb25Db21wbGV0ZSgpDQogew0KICAgICBl
dmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7DQotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRi
LnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIsICJ3ZWJr
aXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dFRF9FUlIiKTsNCisgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfQUxMT1dF
RF9FUlIiKTsNCiANCiAgICAgZGVidWcoIiIpDQogICAgIGRlYnVnKCJ2ZXJpZnkgdGhhdCB3ZSBj
YW4gcmVvcGVuIHRoZSBkYiBhZnRlciBjYWxsaW5nIGNsb3NlIikNCkBAIC03NSw3ICs3NSw3IEBA
IGZ1bmN0aW9uIGZpcnN0VHJhbnNhY3Rpb25Db21wbGV0ZSgpCiANCiBmdW5jdGlvbiBvblNlY29u
ZE9wZW4oKSB7DQogICAgIHNlY29uZF9kYiA9IGV2YWxBbmRMb2coInNlY29uZF9kYiA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsNCi0gICAgY3VycmVudFRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygi
Y3VycmVudFRyYW5zYWN0aW9uID0gc2Vjb25kX2RiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KKyAgICBjdXJyZW50VHJhbnNhY3Rpb24gPSBldmFs
QW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBzZWNvbmRfZGIudHJhbnNhY3Rpb24oWydzdG9y
ZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOw0KICAgICBzdG9yZSA9IGN1
cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKTsNCiAgICAgcmVxdWVzdCA9IGV2
YWxBbmRMb2coInJlcXVlc3QgPSBzdG9yZS5wdXQoJzEnLCAnMicpIik7DQogICAgIHJlcXVlc3Qu
b25zdWNjZXNzID0gb25GaW5hbFB1dFN1Y2Nlc3M7DQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1v
YmplY3RzdG9yZS1jYWxscy1leHBlY3RlZC50eHQKaW5kZXggMzEzYzFhMTI1YWJhMTVkODcyMTA4
NzBjODQzZjVkMDA0M2U3MDkyZC4uZTkyMTFkYWUyMjE0MTQxYzQ4ZDRkNGIwMjkxOTllNmY4YjQw
N2VkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMtZXhwZWN0
ZWQudHh0CkBAIC01NSwxNCArNTUsMTcgQEAgRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHRyYW5z
Lm9iamVjdFN0b3JlKCd4JykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgogCi10cmFucyA9IGRi
LnRyYW5zYWN0aW9uKFtdKQorUGFzc2luZyBhIHN0cmluZyBhcyB0aGUgZmlyc3QgYXJndW1lbnQg
aXMgYSBzaG9ydGN1dCBmb3IganVzdCBvbmUgb2JqZWN0IHN0b3JlOgordHJhbnMgPSBkYi50cmFu
c2FjdGlvbignYScpCiB0cmFucy5vYmplY3RTdG9yZSgnYScpCi10cmFucy5vYmplY3RTdG9yZSgn
YicpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gdHJhbnMub2JqZWN0U3RvcmUoJ2InKQorUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gdHJhbnMub2Jq
ZWN0U3RvcmUoJ3gnKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCiAKLVBBU1MgdHJhbnMgPSBk
Yi50cmFuc2FjdGlvbigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgorUEFTUyB0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogVHlwZSBlcnJvci4KIAogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5z
YWN0aW9uKFsneCddKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KQEAgLTgwLDYgKzgzLDMw
IEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbJ2EnLCAneCcsICdi
J10pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKIAorRXhjZXB0aW9uIHRocm93biB3aGVuIG5v
IHN0b3JlcyBzcGVjaWZpZWQ6CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rp
b24oW10pCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIERPTUV4Y2Vw
dGlvbi5JTlZBTElEX0FDQ0VTU19FUlIKKwore30gY29lcmNlcyB0byBhIHN0cmluZyAtIHNvIG5v
IG1hdGNoLCBidXQgbm90IGEgdHlwZSBlcnJvcjoKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBk
Yi50cmFuc2FjdGlvbih7fSkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUg
aXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKHttb2RlOjB9KQorUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9V
TkRfRVJSCisKK092ZXJyaWRpbmcgdGhlIGRlZmF1bHQgc3RyaW5nIGNvZXJjaW9uIG1ha2VzIHRo
ZXNlIHdvcms6CitkYi50cmFuc2FjdGlvbih7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gJ2En
O319KQorZGIudHJhbnNhY3Rpb24oW3t0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAnYSc7fX1d
KQorLi4uIGJ1dCB5b3Ugc3RpbGwgbmVlZCB0byBzcGVjaWZ5IGEgcmVhbCBzdG9yZToKK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbe3RvU3RyaW5nOmZ1bmN0aW9uKCl7
cmV0dXJuICd4Jzt9fV0pCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlz
IHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbihbe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICd4
Jzt9fV0pCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIHdlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKKwogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1j
YWxscy5odG1sCmluZGV4IDA5MzVlZjk3MTQ5OGI1M2UzNjZjZmIzMWM0ZDEzYjU4OWRjZjA2ZTAu
LmZiYmExZGIxMDE1MDlhODI3YTk5OGJjMmJkNDM3NWJjNWNmOThlODQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1j
YWxscy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9u
LWFuZC1vYmplY3RzdG9yZS1jYWxscy5odG1sCkBAIC03NSw5ICs3NSwxMCBAQCBmdW5jdGlvbiBj
cmVhdGVkKCkKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJ0cmFucy5vYmplY3RTdG9yZSgn
eCcpIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIiKTsKICAgICBk
ZWJ1ZygiIik7CiAKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oW10pIik7CisgICAgZGVidWcoIlBhc3NpbmcgYSBzdHJpbmcgYXMgdGhlIGZpcnN0IGFyZ3Vt
ZW50IGlzIGEgc2hvcnRjdXQgZm9yIGp1c3Qgb25lIG9iamVjdCBzdG9yZToiKTsKKyAgICB0cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ2EnKSIpOwogICAgIGV2YWxB
bmRMb2coInRyYW5zLm9iamVjdFN0b3JlKCdhJykiKTsKLSAgICBldmFsQW5kTG9nKCJ0cmFucy5v
YmplY3RTdG9yZSgnYicpIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigidHJhbnMub2Jq
ZWN0U3RvcmUoJ2InKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJS
Iik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigidHJhbnMub2JqZWN0U3RvcmUoJ3gnKSIs
ICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CiAgICAgZGVidWco
IiIpOwogCkBAIC05MSw2ICs5MiwyMyBAQCBmdW5jdGlvbiBjcmVhdGVkKCkKICAgICBldmFsQW5k
RXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbihbJ2EnLCAneCcsICdiJ10pIiwgIndlYmtp
dElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIiKTsKICAgICBkZWJ1ZygiIik7CiAK
KyAgICBkZWJ1ZygiRXhjZXB0aW9uIHRocm93biB3aGVuIG5vIHN0b3JlcyBzcGVjaWZpZWQ6Iik7
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oW10pIiwgIkRPTUV4
Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1
Zygie30gY29lcmNlcyB0byBhIHN0cmluZyAtIHNvIG5vIG1hdGNoLCBidXQgbm90IGEgdHlwZSBl
cnJvcjoiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbih7fSki
LCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOworICAgIGV2YWxB
bmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKHttb2RlOjB9KSIsICJ3ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CisgICAgZGVidWcoIiIpOworCisgICAg
ZGVidWcoIk92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgc3RyaW5nIGNvZXJjaW9uIG1ha2VzIHRoZXNl
IHdvcms6Iik7CisgICAgZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oe3RvU3RyaW5nOmZ1bmN0
aW9uKCl7cmV0dXJuICdhJzt9fSkiKTsKKyAgICBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihb
e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICdhJzt9fV0pIik7CisgICAgZGVidWcoIi4uLiBi
dXQgeW91IHN0aWxsIG5lZWQgdG8gc3BlY2lmeSBhIHJlYWwgc3RvcmU6Iik7CisgICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oW3t0b1N0cmluZzpmdW5jdGlvbigpe3Jl
dHVybiAneCc7fX1dKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJS
Iik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oW3t0b1N0cmlu
ZzpmdW5jdGlvbigpe3JldHVybiAneCc7fX1dKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5OT1RfRk9VTkRfRVJSIik7CisKKyAgICBkZWJ1ZygiIik7CiAgICAgZG9uZSgpOwogfQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYmFzaWNzLWV4cGVjdGVkLnR4dAppbmRleCA1MjdjNTUzYThiZDRjYjhkOGFhNTkxOTIzZWU2
YjIwYzkyN2I2YWJhLi4zMTcxYTg2YTkyMjk5OWE2NDFmNWU2ODI0ZWRkYTFhNmNlMjFmYzI1IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNp
Y3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKQEAgLTYzLDcgKzYzLDcgQEAgdHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0CiBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRydWUKIERlbGV0ZWQgYWxs
IG9iamVjdCBzdG9yZXMuCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkK
LWRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkK
K2RiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pCiBzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQogUEFTUyBzdG9yZS5uYW1lIGlzICJzdG9yZU5hbWUiCiBQQVNT
IGNvbXBsZXRlIGV2ZW50IGZpcmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy5odG1sCmluZGV4IDBlNDlkYTEwMzNjNGUzZDE5NzE5
NGZhMGE5NGM5NWQ1MDc3OWNmYzcuLmYzYjNlZmFlODIzM2Y0MmQ0NTY3NWJkNmU0MzFjZWFlMDM0
NjRiZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWJhc2ljcy5odG1sCkBAIC0yMDYsNyArMjA2LDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lv
blN1Y2Nlc3MoKQogICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7DQogDQogICAgIGV2YWxB
bmRMb2coImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOw0KLSAgICB0
cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsNCisgICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9n
KCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKSIpOw0KICAgICB0cmFuc2FjdGlvbi5vbmFi
b3J0ID0gYWJvcnRDYWxsYmFjazsNCiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUg
PSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsNCiAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJzdG9yZS5uYW1lIiwgInN0b3JlTmFtZSIpOw0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNy
YXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dAppbmRleCBmNjBlYWEyZTNhYjdhOGI2M2EyMmI4NDM1
NzYwZTBkOGQxY2JiYWQ0Li42ZDMzODIwYTcxMjNkODMxODZkYmRlNTg3ZmY2ODRiNzdhNWE4YjQ5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1j
cmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0CkBAIC04LDYgKzgs
OCBAQCBQQVNTIHdlYmtpdEluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCiB3ZWJraXRJbmRleGVk
REIub3BlbigndHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQnKQogb3BlblN1Y2Nlc3MoKToKIGRi
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAorZGIuc2V0VmVyc2lvbignMS4wJykKK2RiLmNyZWF0ZU9i
amVjdFN0b3JlKCdmb28nKQogZGIudHJhbnNhY3Rpb24oJ2ZvbycpCiB3aW5kb3cuZ2MoKQogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwKaW5k
ZXggNzVkMTIyYjFjMWMyZWFmMmE5ZjMwNjY5NzZiODMyOGYwZmU0YzVjOS4uNmY5Y2ExNWJiZmZj
ZWI0ZWIwYjYwODAyNzZiYTI3ZmI2NGFjYWQ0YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJvcnQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1s
CkBAIC0yOCw2ICsyOCwxNCBAQCBmdW5jdGlvbiBvcGVuU3VjY2VzcygpCiB7CiAgICAgZGVidWco
Im9wZW5TdWNjZXNzKCk6Iik7CiAgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKKyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMS4w
JykiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb25TdWNjZXNzOworICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBz
ZXRWZXJzaW9uU3VjY2VzcygpCit7CisgICAgZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ2ZvbycpIik7CiAgICAgZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oJ2ZvbycpIik7CiAg
ICAgZXZhbEFuZExvZygid2luZG93LmdjKCkiKTsKICAgICBkb25lKCk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1ldmVudC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNWY4NWM4MWQwYTYwNzIxYmQ2
N2EzMmUyYjJkMzM3YmVhNzc2ZGRjYy4uZDQyMDYxYTBkYzZlN2FjNWQ3NDQ5ZmU0MGRkNWUyOTdh
ZGI2NTQ0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tZXZlbnQtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMTMsNyArMTMsNyBAQCBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogc3RvcmUgPSBk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkKIHN0b3JlLmFkZCh7eDogJ3Zh
bHVlJywgeTogJ3p6eid9LCAna2V5JykKIFZlcmlmaW5nIGFib3J0Ci10cmFucyA9IGRiLnRyYW5z
YWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KQogdHJhbnMub25hYm9ydCA9IGFib3J0RmlyZWRDYWxsYmFjawogdHJhbnMub25jb21wbGV0ZSA9
IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrCiBkYi5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRi
QWJvcnRDYXB0dXJlQ2FsbGJhY2ssIHRydWUpCkBAIC00NSw3ICs0NSw3IEBAIFBBU1MgZXZlbnQu
dGFyZ2V0IGlzIHRyYW5zCiBQQVNTIGV2ZW50LmN1cnJlbnRUYXJnZXQgaXMgZGIKIAogVmVyaWZp
bmcgc3VjY2Vzcy4KLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdl
YmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmNvbXBsZXRlID0gY29tcGxl
dGVGaXJlZENhbGxiYWNrCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sK
IGRiLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgZGJBYm9ydENhcHR1cmVDYWxsYmFjaywg
dHJ1ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCmluZGV4IDE1YzI3NWM1MDlhMjZm
MWEwMTU1OTUzZTIyYTViZDA4YTZkYjM3MjAuLjk0MWFjNTJlM2ZkMzI3ZGJmNDY1MjU0ODIwNGE5
ZTk5NzgxNjNkNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbApAQCAtNDcsNyAr
NDcsNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlvbiBzdGFydFRlc3QoKQog
ewogICAgIGRlYnVnKCJWZXJpZmluZyBhYm9ydCIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygi
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydz
dG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFs
QW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gYWJvcnRGaXJlZENhbGxiYWNrIik7CiAgICAgZXZhbEFu
ZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAg
ZXZhbEFuZExvZygiZGIuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBkYkFib3J0Q2FwdHVyZUNh
bGxiYWNrLCB0cnVlKSIpOwpAQCAtOTcsNyArOTcsNyBAQCBmdW5jdGlvbiBkYkFib3J0QnViYmxl
Q2FsbGJhY2soKQogICAgIGRiQnViYmxlRmlyZWQxID0gdHJ1ZTsKICAgICBkZWJ1ZygiIik7CiAg
ICAgZGVidWcoIlZlcmlmaW5nIHN1Y2Nlc3MuIik7Ci0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0
b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIGV2YWxB
bmRMb2coInRyYW5zLm9uY29tcGxldGUgPSBjb21wbGV0ZUZpcmVkQ2FsbGJhY2siKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsKICAg
ICBldmFsQW5kTG9nKCJkYi5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRiQWJvcnRDYXB0
dXJlQ2FsbGJhY2ssIHRydWUpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWly
ZWQtZXhwZWN0ZWQudHh0CmluZGV4IGE1ZmU1ZWIwM2UwYWYxMTE4MzE2ZWYzOGQ5N2E5N2ExYzQw
MjI2MWMuLjg3Mjc3OTQwZjUzYTBhZGEyMmEwNGFhZmVlMzViMTBkYzNlNzhhZDkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMt
cmVxdWlyZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLXN0b3JlTmFtZXMtcmVxdWlyZWQtZXhwZWN0ZWQudHh0CkBAIC0xNSw3ICsx
NSw3IEBAIGluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKQogZGIgPSBldmVudC50YXJn
ZXQucmVzdWx0CiByZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCiBEZWxldGVkIGFsbCBvYmpl
Y3Qgc3RvcmVzLgotUEFTUyBkYi50cmFuc2FjdGlvbigpOyB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZGIudHJhbnNhY3Rpb24oKTsgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3R1dG9yaWFsLmh0bWwKaW5kZXggOGIyODk4NzJjOGIxNTRlZmE5M2Q3ZjIwMzI2NTNkYmVmOGM1
M2RhNy4uM2MwNDg1MmZmMWI1OTIwMGE3ZGU2YzM3ZDE5YTFhMmE4N2JlYTM4ZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90dXRvcmlhbC5odG1sCkBAIC0yMTEsMTUgKzIxMSwx
NCBAQCBmdW5jdGlvbiBvblNldFZlcnNpb25Db21wbGV0ZSgpCiAgICAgLy8gY3JlYXRlT2JqZWN0
U3RvcmUsIHRyYW5zYWN0aW9uIG9wdGlvbmFsbHkgdGFrZXMgaW4gdmFyaW91cyBvcHRpb25hbCBw
YXJhbWV0ZXJzLgogICAgIC8vCiAgICAgLy8gRmlyc3Qgb2YgYWxsIGlzIHRoZSBwYXJhbWV0ZXIg
Im9iamVjdFN0b3JlTmFtZXMiLiBJZiB5b3UgcGFzcyBpbiBhIHN0cmluZywgd2UgbG9jayBqdXN0
IHRoYXQKLSAgICAvLyBvYmplY3RTdG9yZS4gIElmIHlvdSBwYXNzIGluIGFuIGFycmF5LCB3ZSBs
b2NrIHRob3NlLiBPdGhlcndpc2UgKGZvciBleGFtcGxlLCBpZiB5b3Ugb21pdCBpdAotICAgIC8v
IG9yIHBhc3MgaW4gbnVsbC91bmRlZmluZWQpIHdlIGxvY2sgdGhlIHdob2xlIGRhdGFiYXNlLiBC
eSBzcGVjaWZ5aW5nIGxvY2tzIG92ZXIgZmV3ZXIKKyAgICAvLyBvYmplY3RTdG9yZS4gIElmIHlv
dSBwYXNzIGluIGFuIGFycmF5LCB3ZSBsb2NrIHRob3NlLiBCeSBzcGVjaWZ5aW5nIGxvY2tzIG92
ZXIgZmV3ZXIKICAgICAvLyBvYmplY3RTdG9yZXMgeW91IG1ha2UgaXQgcG9zc2libGUgZm9yIGJy
b3dzZXJzIHRvIHJ1biB0cmFuc2FjdGlvbnMgY29uY3VycmVudGx5LiBUaGF0IHNhaWQsCiAgICAg
Ly8gQ2hyb21pdW0vV2ViS2l0IGRvZXMgbm90IHN1cHBvcnQgdGhpcyB5ZXQuCiAgICAgLy8KICAg
ICAvLyBOZXh0IGlzICJtb2RlIiB3aGljaCBzcGVjaWZpZXMgdGhlIGxvY2tpbmcgbW9kZS4gVGhl
IGRlZmF1bHQgaXMgUkVBRF9PTkxZIChpLmUuIGEgc2hhcmVkIGxvY2spLgogICAgIC8vIFRoYXQn
cyBmaW5lIGZvciB0aGlzIGNhc2UsIGJ1dCBsYXRlciB3ZSdsbCBhc2sgZm9yIElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUuIEF0IHRoZSBtb21lbnQsCiAgICAgLy8gQ2hyb21pdW0vV2ViS2l0IHBy
ZXRlbmRzIGV2ZXJ5IHRyYW5zYWN0aW9uIGlzIFJFQURfV1JJVEUsIHdoaWNoIGlzIGtpbmQgb2Yg
YmFkLgotICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwg
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSk7CisgICAgd2luZG93LmN1cnJlbnRUcmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKCJwZW9wbGUiLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKTsK
ICAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZTsK
ICAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25hYm9ydCA9IG9uVHJhbnNhY3Rpb25BYm9ydGVkOwog
CkBAIC0yNjYsMTAgKzI2NSw4IEBAIGZ1bmN0aW9uIHVuZXhwZWN0ZWRDb21wbGV0ZSgpCiAKIGZ1
bmN0aW9uIG9uVHJhbnNhY3Rpb25BYm9ydGVkKCkKIHsKLSAgICAvLyBOb3cgbGV0J3MgbWFrZSBh
IHJlYWwgdHJhbnNhY3Rpb24gYW5kIGEgcGVyc29uIHRvIG91ciBvYmplY3RTdG9yZS4gSnVzdCB0
byBzaG93IGl0J3MgcG9zc2libGUsCi0gICAgLy8gd2UnbGwgb21pdCB0aGUgb2JqZWN0U3RvcmVO
YW1lcyBwYXJhbWV0ZXIgd2hpY2ggbWVhbnMgd2UnbGwgbG9jayBldmVyeXRoaW5nIGV2ZW4gdGhv
dWdoIHdlIG9ubHkKLSAgICAvLyBldmVyIGFjY2VzcyAicGVvcGxlIi4KLSAgICB3aW5kb3cuY3Vy
cmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUpOworICAgIC8vIE5vdyBsZXQncyBtYWtlIGEgcmVhbCB0cmFuc2FjdGlvbiBhbmQgYSBw
ZXJzb24gdG8gb3VyIG9iamVjdFN0b3JlLgorICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24g
PSBkYi50cmFuc2FjdGlvbigicGVvcGxlIiwgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSk7CiAg
ICAgY3VycmVudFRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnQ7CiAKICAgICB2
YXIgcGVvcGxlID0gY3VycmVudFRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCJwZW9wbGUiKTsKQEAg
LTMwNyw3ICszMDQsNyBAQCBmdW5jdGlvbiBvblB1dFRyYW5zYWN0aW9uQ29tcGxldGUoKQogICAg
IC8vIE9LLCBub3cgbGV0J3MgcXVlcnkgdGhlIHBlb3BsZSBvYmplY3RTdG9yZSBpbiBhIGNvdXBs
ZSBkaWZmZXJlbnQgd2F5cy4gRmlyc3QgdXAsIGxldCdzIHRyeSBnZXQuCiAgICAgLy8gSXQgc2lt
cGx5IHRha2VzIGluIGEga2V5IGFuZCByZXR1cm5zIGEgcmVxdWVzdCB3aG9zZSByZXN1bHQgd2ls
bCBiZSB0aGUgdmFsdWUuIE5vdGUgdGhhdCBoZXJlCiAgICAgLy8gd2UncmUgcGFzc2luZyBpbiBh
biBhcnJheSBmb3Igb2JqZWN0U3RvcmVOYW1lcyByYXRoZXIgdGhhbiBhIHNpbXBsZSBzdHJpbmcu
Ci0gICAgd2luZG93LmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsicGVvcGxl
Il0sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUsIDApOworICAgIHdpbmRvdy5jdXJyZW50VHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbInBlb3BsZSJdLCBJREJUcmFuc2FjdGlvbi5SRUFE
X1dSSVRFKTsKICAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dDsKIAogICAgIHZhciBwZW9wbGUgPSBjdXJyZW50VHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoInBl
b3BsZSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk4MTNhMDY1ZWQ0MGFkYjY1NDQ2NDE0NjE3MjQ4YmVjYTA5
ZGI5NmEuLjc0NWNjYzE1YzFjNzY5MDJkYmQxYzBhYTk4OGVhZWE2NDZhYWE2ODAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMS0xMC0yMCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogUGFzc2luZyBlbXB0eSBhcnJheSB0byBJ
REJEYXRhYmFzZS50cmFuc2FjdGlvbiBzaG91bGQgcmFpc2UgZXhjZXB0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI1MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElEQkRhdGFiYXNlLnRyYW5zYWN0
aW9uKCkgc3VwcG9ydGVkIGJlaW5nIGNhbGxlZCB3aXRoIGFuIGVtcHR5IGFycmF5IHRvCisgICAg
ICAgIGxvY2sgYWxsIG9iamVjdCBzdG9yZXMuIFN1cHBvcnQgZm9yIHRoaXMgd2FzIHJlamVjdGVk
IGZyb20gaW5jbHVzaW9uIGluCisgICAgICAgIHRoZSBJREIgc3BlYyBkdWUgdG8gcGVyZm9ybWFu
Y2UgY29uY2VybnMuIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGF0CisgICAgICAgIGZ1bmN0aW9uYWxp
dHkuCisKKyAgICAgICAgQSBzcGVjaWFsIGNhc2UgaW4gdGhlIHNwZWMgKHBhc3NpbmcgYSBzdHJp
bmcgaW5zdGVhZCBvZiBhbiBhcnJheSkgd29ya2VkCisgICAgICAgIGluIFdlYktpdCBhY2NpZGVu
dGFsbHksIGJ5IHJlc29sdmluZyB0aGUgc3RyaW5nIHRvIGFuIGVtcHR5IGFycmF5LiBUaGlzCisg
ICAgICAgIG5lZWRlZCBleHBsaWNpdCBzdXBwb3J0LiBTdXBwb3J0IGZvciBET01TdHJpbmdbXSBp
cyBhZGRlZCB0byB0aGUgYmluZGluZworICAgICAgICBjb2RlIGdlbmVyYXRvcnMgKHJlbGlhbnQg
b24gRE9NU3RyaW5nTGlzdCkgdG8gZW5zdXJlIEpTIGFycmF5cyBhcmUgbm90CisgICAgICAgIGNv
ZXJjZWQgdG8gRE9NU3RyaW5ncy4gVGhpcyBtYXRjaGVzIHRoZSBwcm9wb3NlZCBJREwuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbToKKyAgICAgICAgKEdl
bmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbik6CisgICAgICAgIChHZXROYXRpdmVUeXBl
KToKKyAgICAgICAgKEpTVmFsdWVUb05hdGl2ZSk6CisgICAgICAgIChJc0FycmF5VHlwZSk6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9JRExTdHJ1Y3R1cmUucG06CisgICAgICAgICogc3Rv
cmFnZS9JREJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJh
bnNhY3Rpb24pOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFnZS9JREJE
YXRhYmFzZS5pZGw6CisgICAgICAgICogc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OklEQlRy
YW5zYWN0aW9uQmFja2VuZEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25C
YWNrZW5kSW1wbDo6b2JqZWN0U3RvcmUpOgorCiAyMDExLTEwLTE0ICBCZXRoIERha2luICA8YmRh
a2luQGFwcGxlLmNvbT4KIAogICAgICAgICBBdHRlbXB0ZWQgTGVvcGFyZCBidWlsZCBmaXguCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CmluZGV4IGE0YTE4NWRhMTA4MWM3OWQ1Y2I4MjNiMDM4NzI0MTAyODFjYjQ4MWYuLmQ5MjA3ZDBl
OTNiYTg2NmEyYzg3NmMwM2MxMDAxNWY5ODEwZThjY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0yOTEsNiArMjkxLDkg
QEAgc3ViIEFkZEluY2x1ZGVzRm9yVHlwZQogICAgIH0gZWxzaWYgKCR0eXBlIGVxICJYUGF0aE5T
UmVzb2x2ZXIiKSB7CiAgICAgICAgICRpbmNsdWRlc1JlZi0+eyJKU1hQYXRoTlNSZXNvbHZlci5o
In0gPSAxOwogICAgICAgICAkaW5jbHVkZXNSZWYtPnsiSlNDdXN0b21YUGF0aE5TUmVzb2x2ZXIu
aCJ9ID0gMTsKKyAgICB9IGVsc2lmICgkdHlwZSBlcSAiRE9NU3RyaW5nW10iKSB7CisgICAgICAg
ICMgRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/LCBzZXF1ZW5jZTxUPgor
ICAgICAgICAkaW5jbHVkZXNSZWYtPnsiSlNET01TdHJpbmdMaXN0LmgifSA9IDE7CiAgICAgfSBl
bHNpZiAoJGlzQ2FsbGJhY2spIHsKICAgICAgICAgJGluY2x1ZGVzUmVmLT57IkpTJHt0eXBlfS5o
In0gPSAxOwogICAgIH0gZWxzZSB7CkBAIC0xMjI2LDYgKzEyMjksMTAgQEAgc3ViIEdlbmVyYXRl
UGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbgogICAgICAgICAgICAgIyBGb3IgQ2FsbGJhY2tzIG9u
bHkgY2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIG9iamVjdC4KICAgICAgICAgICAgIHB1
c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0uaXNOdWxsKCkgfHwgJHt2YWx1ZX0uaXNPYmpl
Y3QoKSkiKTsKICAgICAgICAgICAgICR1c2VkQXJndW1lbnRzeyRwYXJhbWV0ZXJJbmRleH0gPSAx
OworICAgICAgICB9IGVsc2lmIChJc0FycmF5VHlwZSgkdHlwZSkpIHsKKyAgICAgICAgICAgICMg
RklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/LCBzZXF1ZW5jZTxUPgorICAg
ICAgICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVlfS5pc051bGwoKSB8fCAoJHt2
YWx1ZX0uaXNPYmplY3QoKSAmJiBhc09iamVjdCgke3ZhbHVlfSktPmluaGVyaXRzKCZKU0FycmF5
OjpzX2luZm8pKSkiKTsKKyAgICAgICAgICAgICR1c2VkQXJndW1lbnRzeyRwYXJhbWV0ZXJJbmRl
eH0gPSAxOwogICAgICAgICB9IGVsc2lmICghSXNOYXRpdmVUeXBlKCR0eXBlKSkgewogICAgICAg
ICAgICAgcHVzaChAYW5kRXhwcmVzc2lvbiwgIigke3ZhbHVlfS5pc051bGwoKSB8fCAoJHt2YWx1
ZX0uaXNPYmplY3QoKSAmJiBhc09iamVjdCgke3ZhbHVlfSktPmluaGVyaXRzKCZKUyR7dHlwZX06
OnNfaW5mbykpKSIpOwogICAgICAgICAgICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4
fSA9IDE7CkBAIC0yNjE4LDYgKzI2MjUsOCBAQCBzdWIgR2V0TmF0aXZlVHlwZUZyb21TaWduYXR1
cmUKIG15ICVuYXRpdmVUeXBlID0gKAogICAgICJDb21wYXJlSG93IiA9PiAiUmFuZ2U6OkNvbXBh
cmVIb3ciLAogICAgICJET01TdHJpbmciID0+ICJjb25zdCBTdHJpbmcmIiwKKyAgICAjIEZJWE1F
OiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIFRbXSwgVFtdPywgc2VxdWVuY2U8VD4KKyAgICAiRE9N
U3RyaW5nW10iID0+ICJET01TdHJpbmdMaXN0KiIsCiAgICAgIkRPTU9iamVjdCIgPT4gIlNjcmlw
dFZhbHVlIiwKICAgICAiTm9kZUZpbHRlciIgPT4gIlJlZlB0cjxOb2RlRmlsdGVyPiIsCiAgICAg
IlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSIgPT4gIlJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IiwKQEAgLTI2OTMsNiArMjcwMiwxMyBAQCBzdWIgSXNOYXRpdmVUeXBlCiAgICAgcmV0dXJuIGV4
aXN0cyAkbmF0aXZlVHlwZXskdHlwZX07CiB9CiAKK3N1YiBJc0FycmF5VHlwZQoreworICAgIG15
ICR0eXBlID0gc2hpZnQ7CisgICAgIyBGSVhNRTogQWRkIHByb3BlciBzdXBwb3J0IGZvciBUW10s
IFRbXT8sIHNlcXVlbmNlPFQ+LgorICAgIHJldHVybiAkdHlwZSA9fiBtL1xbXF0kLzsKK30KKwog
c3ViIEpTVmFsdWVUb05hdGl2ZQogewogICAgIG15ICRzaWduYXR1cmUgPSBzaGlmdDsKQEAgLTI3
NDIsNiArMjc1OCwxMSBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgICAgIHJldHVybiAiY3Jl
YXRlSURCS2V5RnJvbVZhbHVlKGV4ZWMsICR2YWx1ZSkiOwogICAgIH0KIAorICAgIGlmICgkdHlw
ZSBlcSAiRE9NU3RyaW5nW10iKSB7CisgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJKU0RPTVN0
cmluZ0xpc3QuaCIsICRjb25kaXRpb25hbCk7CisgICAgICAgIHJldHVybiAidG9ET01TdHJpbmdM
aXN0KCR2YWx1ZSkiOworICAgIH0KKwogICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJIVE1MT3B0aW9u
RWxlbWVudC5oIiwgJGNvbmRpdGlvbmFsKSBpZiAkdHlwZSBlcSAiSFRNTE9wdGlvbkVsZW1lbnQi
OwogICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJKU0N1c3RvbVZvaWRDYWxsYmFjay5oIiwgJGNvbmRp
dGlvbmFsKSBpZiAkdHlwZSBlcSAiVm9pZENhbGxiYWNrIjsKICAgICBBZGRUb0ltcGxJbmNsdWRl
cygiRXZlbnQuaCIsICRjb25kaXRpb25hbCkgaWYgJHR5cGUgZXEgIkV2ZW50IjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXgg
ZjJmNGRhZDA3NzJhNThhMzdjNzZiNmJkMGMzODk2ZjFmYzJlMjZhMC4uMTBhZmI0ZWM4ZjcyMWVh
MzI2ZjAzY2U0NjM4MTZjZjg4ZjRhYzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTExOTcsNiArMTE5Nyw5IEBAIHN1
YiBHZW5lcmF0ZVBhcmFtZXRlcnNDaGVja0V4cHJlc3Npb24KICAgICAgICAgfSBlbHNpZiAoJHBh
cmFtZXRlci0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxiYWNrIn0pIHsKICAgICAgICAgICAg
ICMgRm9yIENhbGxiYWNrcyBvbmx5IGNoZWNrcyBpZiB0aGUgdmFsdWUgaXMgbnVsbCBvciBvYmpl
Y3QuCiAgICAgICAgICAgICBwdXNoKEBhbmRFeHByZXNzaW9uLCAiKCR7dmFsdWV9LT5Jc051bGwo
KSB8fCAke3ZhbHVlfS0+SXNPYmplY3QoKSkiKTsKKyAgICAgICAgfSBlbHNpZiAoSXNBcnJheVR5
cGUoJHR5cGUpKSB7CisgICAgICAgICAgICAjIEZJWE1FOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9y
IFRbXSwgVFtdPywgc2VxdWVuY2U8VD4uCisgICAgICAgICAgICBwdXNoKEBhbmRFeHByZXNzaW9u
LCAiKCR7dmFsdWV9LT5Jc051bGwoKSB8fCAke3ZhbHVlfS0+SXNBcnJheSgpKSIpOwogICAgICAg
ICB9IGVsc2lmIChJc1dyYXBwZXJUeXBlKCR0eXBlKSkgewogICAgICAgICAgICAgcHVzaChAYW5k
RXhwcmVzc2lvbiwgIigke3ZhbHVlfS0+SXNOdWxsKCkgfHwgVjgke3R5cGV9OjpIYXNJbnN0YW5j
ZSgkdmFsdWUpKSIpOwogICAgICAgICB9CkBAIC0zMTI4LDYgKzMxMzEsOCBAQCBzdWIgR2V0TmF0
aXZlVHlwZQogICAgIHJldHVybiAiUmVmUHRyPE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IiBpZiAk
dHlwZSBlcSAiTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciI7CiAKICAgICByZXR1cm4gIlJlZlB0cjxE
T01TdHJpbmdMaXN0PiIgaWYgJHR5cGUgZXEgIkRPTVN0cmluZ0xpc3QiOworICAgICMgRklYTUU6
IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/LCBzZXF1ZW5jZTxUPi4KKyAgICByZXR1
cm4gIlJlZlB0cjxET01TdHJpbmdMaXN0PiIgaWYgJHR5cGUgZXEgIkRPTVN0cmluZ1tdIjsKIAog
ICAgICMgRGVmYXVsdCwgYXNzdW1lIG5hdGl2ZSB0eXBlIGlzIGEgcG9pbnRlciB3aXRoIHNhbWUg
dHlwZSBuYW1lIGFzIGlkbCB0eXBlCiAgICAgcmV0dXJuICIke3R5cGV9KiI7CkBAIC0zMTgyLDYg
KzMxODcsOCBAQCBzdWIgSlNWYWx1ZVRvTmF0aXZlCiAgICAgcmV0dXJuICJzdGF0aWNfY2FzdDxS
YW5nZTo6Q29tcGFyZUhvdz4oJHZhbHVlLT5JbnQzMlZhbHVlKCkpIiBpZiAkdHlwZSBlcSAiQ29t
cGFyZUhvdyI7CiAgICAgcmV0dXJuICJ0b1dlYkNvcmVEYXRlKCR2YWx1ZSkiIGlmICR0eXBlIGVx
ICJEYXRlIjsKICAgICByZXR1cm4gInY4VmFsdWVUb1dlYkNvcmVET01TdHJpbmdMaXN0KCR2YWx1
ZSkiIGlmICR0eXBlIGVxICJET01TdHJpbmdMaXN0IjsKKyAgICAjIEZJWE1FOiBBZGQgcHJvcGVy
IHN1cHBvcnQgZm9yIFRbXSwgVFtdPyBhbmQgc2VxdWVuY2U8VD4uCisgICAgcmV0dXJuICJ2OFZh
bHVlVG9XZWJDb3JlRE9NU3RyaW5nTGlzdCgkdmFsdWUpIiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5n
W10iOwogCiAgICAgaWYgKCR0eXBlIGVxICJET01TdHJpbmciIG9yICR0eXBlIGVxICJET01Vc2Vy
RGF0YSIpIHsKICAgICAgICAgcmV0dXJuICR2YWx1ZTsKQEAgLTMyNTEsNiArMzI1OCw3IEBAIHN1
YiBHZXRWOEhlYWRlck5hbWUKICAgICByZXR1cm4gIkV2ZW50VGFyZ2V0LmgiIGlmICR0eXBlIGVx
ICJFdmVudFRhcmdldCI7CiAgICAgcmV0dXJuICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIgaWYg
JHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSI7CiAgICAgcmV0dXJuICJTY3JpcHRWYWx1
ZS5oIiBpZiAkdHlwZSBlcSAiRE9NT2JqZWN0IjsKKyAgICByZXR1cm4gIlY4RE9NU3RyaW5nTGlz
dC5oIiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nW10iOwogICAgIHJldHVybiAiVjgke3R5cGV9Lmgi
OwogfQogCkBAIC0zMzUzLDYgKzMzNjEsMTMgQEAgc3ViIElzV3JhcHBlclR5cGUKICAgICByZXR1
cm4gISgkbm9uX3dyYXBwZXJfdHlwZXN7JHR5cGV9KTsKIH0KIAorc3ViIElzQXJyYXlUeXBlCit7
CisgICAgbXkgJHR5cGUgPSAkY29kZUdlbmVyYXRvci0+U3RyaXBNb2R1bGUoc2hpZnQpOworICAg
ICMgRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/LCBzZXF1ZW5jZTxUPi4K
KyAgICByZXR1cm4gJHR5cGUgPX4gbS9cW1xdJC87Cit9CisKIHN1YiBJc0RPTU5vZGVUeXBlCiB7
CiAgICAgbXkgJHR5cGUgPSBzaGlmdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9JRExTdHJ1Y3R1cmUucG0KaW5kZXggMzQwMGUwYzhkOWYxMjBhNDFkNGMxYTJiNDY0OTYz
N2U5MGVlM2FjYS4uNmJhMGU2Zjk4Zjk5ODA5ODAzZWUzNTI1NDhjYjEzOTM3YzhhOGYyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExTdHJ1Y3R1cmUucG0K
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExTdHJ1Y3R1cmUucG0KQEAg
LTg3LDcgKzg3LDcgQEAgb3VyICRjb25zdFZhbHVlID0gJygiW14iXHJcbl0qIil8KDBbeFhdW2Et
ZkEtRjAtOV0rKXwoLT9bMC05XSopJzsKIG91ciAkaWRsRGF0YVR5cGUgPSAnW2EtekEtWjAtOVwg
XSc7ICAgIyBHZW5lcmljIGRhdGEgdHlwZSBpZGVudGlmaWVyCiAKICMgTWFnaWMgSURMIHBhcnNp
bmcgcmVndWxhciBleHByZXNzaW9ucwotbXkgJHN1cHBvcnRlZFR5cGVzID0gIigoPzp1bnNpZ25l
ZCApPyg/OmludHxzaG9ydHwoPzpsb25nICk/bG9uZyl8KD86JGlkbElkTnMqKSkiOworbXkgJHN1
cHBvcnRlZFR5cGVzID0gIigoPzooPzp1bnNpZ25lZCApPyg/OmludHxzaG9ydHwoPzpsb25nICk/
bG9uZyl8KD86JGlkbElkTnMqKSkoPzpcXFtcXF0pPykiOwogCiAjIFNwZWNpYWwgSURMIG5vdGF0
aW9ucy4gVGhpcyByZWd1bGFyIGV4cHJlc3Npb24gZXh0cmFjdHMgdGhlIHN0cmluZyBiZXR3ZWVu
IHRoZSBmaXJzdCBbIGFuZCBpdHMgY29ycmVzcG9uZGluZyBdLgogb3VyICRleHRlbmRlZEF0dHJp
YnV0ZVN5bnRheCA9IHFyL1xbW15cW1xdXSooPzooPz97JElETFN0cnVjdHVyZTo6ZXh0ZW5kZWRB
dHRyaWJ1dGVTeW50YXh9KVteXFtcXV0qKSpcXS94OyAjIFVzZWQgZm9yIGV4dGVuZGVkIGF0dHJp
YnV0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdE9iai5jcHAKaW5kZXggYzAyNGE0NTFkNzkwMzJmZWE1OGY0YmE5YjI4NDlmYmU1MTA2
MjY4Yy4uOTI0OGFlZjExMDY5OTcxMDAzNjhhODU3ZjI0OTcwMzVhOGZkYTA5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJJREJCaW5kaW5nVXRpbGl0aWVzLmgiCiAj
aW5jbHVkZSAiSURCS2V5LmgiCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCisjaW5jbHVkZSAi
SlNET01TdHJpbmdMaXN0LmgiCiAjaW5jbHVkZSAiSlNFdmVudExpc3RlbmVyLmgiCiAjaW5jbHVk
ZSAiSlNPcHRpb25zT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNUZXN0Q2FsbGJhY2suaCIKQEAgLTE4
MjAsNiArMTgyMSwzOCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rl
c3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2Q1KAogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiB9CiAKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDYo
RXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gZXhlYy0+aG9zdFRo
aXNWYWx1ZSgpOworICAgIGlmICghdGhpc1ZhbHVlLmluaGVyaXRzKCZKU1Rlc3RPYmo6OnNfaW5m
bykpCisgICAgICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMpOworICAgIEpTVGVzdE9i
aiogY2FzdGVkVGhpcyA9IHN0YXRpY19jYXN0PEpTVGVzdE9iaio+KGFzT2JqZWN0KHRoaXNWYWx1
ZSkpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgJkpTVGVzdE9i
ajo6c19pbmZvKTsKKyAgICBUZXN0T2JqKiBpbXAgPSBzdGF0aWNfY2FzdDxUZXN0T2JqKj4oY2Fz
dGVkVGhpcy0+aW1wbCgpKTsKKyAgICBET01TdHJpbmdMaXN0KiBsaXN0QXJnKHRvRE9NU3RyaW5n
TGlzdChleGVjLT5hcmd1bWVudCgwKSkpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
KyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKworICAgIGlt
cC0+b3ZlcmxvYWRlZE1ldGhvZChsaXN0QXJnKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOworfQorCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2Q3KEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsK
KyAgICBpZiAoIXRoaXNWYWx1ZS5pbmhlcml0cygmSlNUZXN0T2JqOjpzX2luZm8pKQorICAgICAg
ICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBKU1Rlc3RPYmoqIGNhc3RlZFRo
aXMgPSBzdGF0aWNfY2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdCh0aGlzVmFsdWUpKTsKKyAgICBB
U1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsICZKU1Rlc3RPYmo6OnNfaW5mbyk7
CisgICAgVGVzdE9iaiogaW1wID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmlt
cGwoKSk7CisgICAgRE9NU3RyaW5nTGlzdCogYXJyYXlBcmcodG9ET01TdHJpbmdMaXN0KGV4ZWMt
PmFyZ3VtZW50KDApKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworCisgICAgaW1wLT5vdmVybG9h
ZGVkTWV0aG9kKGFycmF5QXJnKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgc2l6
ZV90IGFyZ3NDb3VudCA9IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsKQEAgLTE4MzUsNiArMTg2OCwx
MCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0
aW9uT3ZlcmxvYWRlZE1ldGhvZChFeGVjU3RhdAogICAgICAgICByZXR1cm4ganNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kNChleGVjKTsKICAgICBpZiAoKGFyZ3NDb3Vu
dCA9PSAxICYmIChhcmcwLmlzTnVsbCgpIHx8IGFyZzAuaXNPYmplY3QoKSkpKQogICAgICAgICBy
ZXR1cm4ganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kNShleGVjKTsK
KyAgICBpZiAoKGFyZ3NDb3VudCA9PSAxICYmIChhcmcwLmlzTnVsbCgpIHx8IChhcmcwLmlzT2Jq
ZWN0KCkgJiYgYXNPYmplY3QoYXJnMCktPmluaGVyaXRzKCZKU0RPTVN0cmluZ0xpc3Q6OnNfaW5m
bykpKSkpCisgICAgICAgIHJldHVybiBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2Fk
ZWRNZXRob2Q2KGV4ZWMpOworICAgIGlmICgoYXJnc0NvdW50ID09IDEgJiYgKGFyZzAuaXNOdWxs
KCkgfHwgKGFyZzAuaXNPYmplY3QoKSAmJiBhc09iamVjdChhcmcwKS0+aW5oZXJpdHMoJkpTQXJy
YXk6OnNfaW5mbykpKSkpCisgICAgICAgIHJldHVybiBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk92ZXJsb2FkZWRNZXRob2Q3KGV4ZWMpOwogICAgIHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGV4
ZWMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE9iai5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVz
dE9iai5pZGwKaW5kZXggNzViNDlhYmMyODQzMTVlMzE1NzBiOTY5YmIxNTljZDJhMTg3YzlmYi4u
MjI0MmRlZTQwYThkZDljMmE5ZDkyZDA4MWFjYmZjM2Q4MWRlMzg5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMTU3LDYgKzE1
Nyw4IEBAIG1vZHVsZSB0ZXN0IHsKICAgICAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGlu
IERPTVN0cmluZyBzdHJBcmcpOwogICAgICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4g
bG9uZyBpbnRBcmcpOwogICAgICAgICB2b2lkICAgIG92ZXJsb2FkZWRNZXRob2QoaW4gW0NhbGxi
YWNrXSBUZXN0Q2FsbGJhY2sgY2FsbGJhY2spOworICAgICAgICB2b2lkICAgIG92ZXJsb2FkZWRN
ZXRob2QoaW4gRE9NU3RyaW5nTGlzdCBsaXN0QXJnKTsKKyAgICAgICAgdm9pZCAgICBvdmVybG9h
ZGVkTWV0aG9kKGluIERPTVN0cmluZ1tdIGFycmF5QXJnKTsKICNlbmRpZgogCiAgICAgICAgIC8v
IENsYXNzIG1ldGhvZHMgd2l0aGluIEphdmFTY3JpcHQgKGxpa2Ugd2hhdCdzIHVzZWQgZm9yIElE
QktleVJhbmdlKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Y4L1Y4VGVzdE9iai5jcHAKaW5kZXggY2I4OWVkZWJlY2UxNDQ2OTQxZGU3ZDliZGNlYTE1
OGQyMTAyZWI0OS4uOTBmYjlhNTJmZDhlNjAwMGE0NjUwZDJhZThjY2RlMDBhYmVjMGNkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVzdE9i
ai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4VGVz
dE9iai5jcHAKQEAgLTExNzAsNiArMTE3MCwyNCBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IG92ZXJsb2FkZWRNZXRob2Q1Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncwog
ICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKIH0KIAorc3RhdGljIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBvdmVybG9hZGVkTWV0aG9kNkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVu
dHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uVGVzdE9iai5vdmVybG9hZGVkTWV0aG9k
NiIpOworICAgIFRlc3RPYmoqIGltcCA9IFY4VGVzdE9iajo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CisgICAgRVhDRVBUSU9OX0JMT0NLKFJlZlB0cjxET01TdHJpbmdMaXN0PiwgbGlzdEFyZywg
djhWYWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3QoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJn
cywgMCwgTWlzc2luZ0lzVW5kZWZpbmVkKSkpOworICAgIGltcC0+b3ZlcmxvYWRlZE1ldGhvZChs
aXN0QXJnKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7Cit9CisKK3N0YXRp
YyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZDdDYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQoreworICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoub3Zlcmxv
YWRlZE1ldGhvZDciKTsKKyAgICBUZXN0T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFy
Z3MuSG9sZGVyKCkpOworICAgIEVYQ0VQVElPTl9CTE9DSyhSZWZQdHI8RE9NU3RyaW5nTGlzdD4s
IGFycmF5QXJnLCB2OFZhbHVlVG9XZWJDb3JlRE9NU3RyaW5nTGlzdChNQVlCRV9NSVNTSU5HX1BB
UkFNRVRFUihhcmdzLCAwLCBNaXNzaW5nSXNVbmRlZmluZWQpKSk7CisgICAgaW1wLT5vdmVybG9h
ZGVkTWV0aG9kKGFycmF5QXJnKTsKKyAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7
Cit9CisKIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZENhbGxi
YWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiB7CiAgICAgSU5DX1NUQVRTKCJET00uVGVz
dE9iai5vdmVybG9hZGVkTWV0aG9kIik7CkBAIC0xMTgzLDYgKzEyMDEsMTAgQEAgc3RhdGljIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9hZGVkTWV0aG9kQ2FsbGJhY2soY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncykKICAgICAgICAgcmV0dXJuIG92ZXJsb2FkZWRNZXRob2Q0Q2FsbGJhY2so
YXJncyk7CiAgICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYgKGFyZ3NbMF0tPklzTnVsbCgp
IHx8IGFyZ3NbMF0tPklzT2JqZWN0KCkpKSkKICAgICAgICAgcmV0dXJuIG92ZXJsb2FkZWRNZXRo
b2Q1Q2FsbGJhY2soYXJncyk7CisgICAgaWYgKChhcmdzLkxlbmd0aCgpID09IDEgJiYgKGFyZ3Nb
MF0tPklzTnVsbCgpIHx8IFY4RE9NU3RyaW5nTGlzdDo6SGFzSW5zdGFuY2UoYXJnc1swXSkpKSkK
KyAgICAgICAgcmV0dXJuIG92ZXJsb2FkZWRNZXRob2Q2Q2FsbGJhY2soYXJncyk7CisgICAgaWYg
KChhcmdzLkxlbmd0aCgpID09IDEgJiYgKGFyZ3NbMF0tPklzTnVsbCgpIHx8IGFyZ3NbMF0tPklz
QXJyYXkoKSkpKQorICAgICAgICByZXR1cm4gb3ZlcmxvYWRlZE1ldGhvZDdDYWxsYmFjayhhcmdz
KTsKICAgICBWOFByb3h5Ojp0aHJvd1R5cGVFcnJvcigpOwogICAgIHJldHVybiBub3RIYW5kbGVk
QnlJbnRlcmNlcHRvcigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcApp
bmRleCA3Yzk5ZDk3OWFjOGYzOTZiN2Y3ZThiMWY5M2IyYzY4OGVjZDY0YzI2Li4wOTQ5ZGQ2NDE4
ZjM3MmMwZDAzZjcxMTNlN2UwYmY0ODAxMjgwNDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIklEQkRhdGFiYXNlLmgi
CiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNp
bmNsdWRlICJFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiSURCQW55LmgiCiAjaW5jbHVkZSAiSURC
RGF0YWJhc2VDYWxsYmFja3NJbXBsLmgiCkBAIC0xMjEsMTEgKzEyMiwyMCBAQCBQYXNzUmVmUHRy
PElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0PiBJREJEYXRhYmFzZTo6c2V0VmVyc2lvbihTY3JpcHRF
eGVjdXRpb25Db250ZQogICAgIHJldHVybiByZXF1ZXN0OwogfQogCitQYXNzUmVmUHRyPElEQlRy
YW5zYWN0aW9uPiBJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBzdG9yZU5hbWUsIHVuc2lnbmVkIHNob3J0IG1vZGUs
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiBzdG9yZU5h
bWVzID0gRE9NU3RyaW5nTGlzdDo6Y3JlYXRlKCk7CisgICAgc3RvcmVOYW1lcy0+YXBwZW5kKHN0
b3JlTmFtZSk7CisgICAgcmV0dXJuIHRyYW5zYWN0aW9uKGNvbnRleHQsIHN0b3JlTmFtZXMsIG1v
ZGUsIGVjKTsKK30KKwogUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbj4gSURCRGF0YWJhc2U6OnRy
YW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8RE9N
U3RyaW5nTGlzdD4gcHJwU3RvcmVOYW1lcywgdW5zaWduZWQgc2hvcnQgbW9kZSwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7CiAgICAgUmVmUHRyPERPTVN0cmluZ0xpc3Q+IHN0b3JlTmFtZXMgPSBwcnBT
dG9yZU5hbWVzOwotICAgIGlmICghc3RvcmVOYW1lcykKLSAgICAgICAgc3RvcmVOYW1lcyA9IERP
TVN0cmluZ0xpc3Q6OmNyZWF0ZSgpOworICAgIGlmICghc3RvcmVOYW1lcyB8fCBzdG9yZU5hbWVz
LT5pc0VtcHR5KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KIAogICAgIGlmIChtb2RlICE9IElEQlRyYW5zYWN0aW9uOjpSRUFE
X1dSSVRFICYmIG1vZGUgIT0gSURCVHJhbnNhY3Rpb246OlJFQURfT05MWSkgewogICAgICAgICAv
LyBGSVhNRTogTWF5IG5lZWQgdG8gY2hhbmdlIHdoZW4gc3BlY2NlZDogaHR0cDovL3d3dy53My5v
cmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lkPTExNDA2CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lE
QkRhdGFiYXNlLmgKaW5kZXggOWQ0ODgzZTA3NDJhN2I1YWIyNTI0MDEzZmUxZWJkOTU1ZjQ5MTlm
YS4uYmIwOWE0ZmEwYjNmNTRmNWM1MWRmM2YyYWZkMTBmNDQzM2JhMjZhOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvSURCRGF0YWJhc2UuaApAQCAtNjEsMTEgKzYxLDkgQEAgcHVibGljOgogCiAgICAg
Ly8gRklYTUU6IFRyeSB0byBtb2RpZnkgdGhlIGNvZGUgZ2VuZXJhdG9yIHNvIHRoaXMgaXMgdW5u
ZWVkZWQuCiAgICAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gY3JlYXRlT2JqZWN0U3RvcmUo
Y29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gY3JlYXRlT2Jq
ZWN0U3RvcmUobmFtZSwgT3B0aW9uc09iamVjdCgpLCBlYyk7IH0KLSAgICBQYXNzUmVmUHRyPElE
QlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gdHJhbnNhY3Rpb24oY29udGV4dCwgMCwgZWMp
OyB9Ci0gICAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBzdG9yZU5h
bWVzLCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gdHJhbnNhY3Rpb24oY29udGV4dCwgc3Rv
cmVOYW1lcywgSURCVHJhbnNhY3Rpb246OlJFQURfT05MWSwgZWMpOyB9Ci0gICAgUGFzc1JlZlB0
cjxJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4sIHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlvbkNv
ZGUmKTsKLQogICAgIFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IGNyZWF0ZU9iamVjdFN0b3Jl
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgT3B0aW9uc09iamVjdCYsIEV4Y2VwdGlvbkNvZGUm
KTsKKyAgICBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbihTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiwgdW5zaWduZWQgc2hvcnQg
bW9kZSwgRXhjZXB0aW9uQ29kZSYpOworICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRy
YW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmLCB1bnNpZ25l
ZCBzaG9ydCBtb2RlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBkZWxldGVPYmplY3RTdG9y
ZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRyPElE
QlZlcnNpb25DaGFuZ2VSZXF1ZXN0PiBzZXRWZXJzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGNsb3Nl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRsCmluZGV4IDgyZjY0MzU2NGRh
MWZmNDYzY2U5MWVjODdmODhiNjBkYWRmYmU0ZjQuLmYwYjFkMGMyODI2NTViNTk2ZDVkOGNjNWNk
ZmJkYzA4ZWFjNGFhYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0
YWJhc2UuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuaWRsCkBA
IC00NSw3ICs0NSwxMSBAQCBtb2R1bGUgc3RvcmFnZSB7CiAgICAgICAgICAgICByYWlzZXMgKElE
QkRhdGFiYXNlRXhjZXB0aW9uKTsKICAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRdIElEQlZlcnNpb25DaGFuZ2VSZXF1ZXN0IHNldFZlcnNpb24oaW4gRE9NU3RyaW5nIHZl
cnNpb24pCiAgICAgICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsKLSAgICAg
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIElEQlRyYW5zYWN0aW9uIHRyYW5z
YWN0aW9uKGluIERPTVN0cmluZ0xpc3Qgc3RvcmVOYW1lcywgaW4gW09wdGlvbmFsXSB1bnNpZ25l
ZCBzaG9ydCBtb2RlKQorICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0g
SURCVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24oaW4gRE9NU3RyaW5nTGlzdCBzdG9yZU5hbWVzLCBp
biBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIHVuc2lnbmVkIHNob3J0IG1vZGUpCisg
ICAgICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsKKyAgICAgICAgW0NhbGxX
aXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIElEQlRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKGlu
IERPTVN0cmluZ1tdIHN0b3JlTmFtZXMsIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1
ZV0gdW5zaWduZWQgc2hvcnQgbW9kZSkKKyAgICAgICAgICAgIHJhaXNlcyAoSURCRGF0YWJhc2VF
eGNlcHRpb24pOworICAgICAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gSURC
VHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24oaW4gRE9NU3RyaW5nIHN0b3JlTmFtZSwgaW4gW09wdGlv
bmFsPUNhbGxXaXRoRGVmYXVsdFZhbHVlXSB1bnNpZ25lZCBzaG9ydCBtb2RlKQogICAgICAgICAg
ICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CiAgICAgICAgIHZvaWQgY2xvc2UoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tl
bmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5k
SW1wbC5jcHAKaW5kZXggMDE1ZGExOGQ2OWE4MjhjNTU3MTc5YTBmYzFhZjBjMTI5MzM2MmJlZi4u
OGExMjI2NGFjNzYwOTNhMTIxYjlkZGJjMzE4M2ZiMDkxNjE4ZTBjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCkBAIC01
Miw2ICs1Miw3IEBAIElEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6OklEQlRyYW5zYWN0aW9uQmFj
a2VuZEltcGwoRE9NU3RyaW5nTGlzdCogb2JqZWN0U3RvcmVzCiAgICAgLCBtX3BlbmRpbmdFdmVu
dHMoMCkKIHsKICAgICBBU1NFUlQobV9vYmplY3RTdG9yZU5hbWVzKTsKKyAgICBBU1NFUlQobV9t
b2RlID09IElEQlRyYW5zYWN0aW9uOjpWRVJTSU9OX0NIQU5HRSB8fCAhbV9vYmplY3RTdG9yZU5h
bWVzLT5pc0VtcHR5KCkpOwogICAgIG1fZGF0YWJhc2UtPnRyYW5zYWN0aW9uQ29vcmRpbmF0b3Io
KS0+ZGlkQ3JlYXRlVHJhbnNhY3Rpb24odGhpcyk7CiB9CiAKQEAgLTY5LDcgKzcwLDcgQEAgUGFz
c1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IElEQlRyYW5zYWN0aW9uQmFj
a2VuZEltcGw6Om9iamVjdFN0b3IKICAgICB9CiAKICAgICAvLyBEb2VzIGEgbGluZWFyIHNlYXJj
aCwgYnV0IGl0IHJlYWxseSBzaG91bGRuJ3QgYmUgdGhhdCBzbG93IGluIHByYWN0aWNlLgotICAg
IGlmICghbV9vYmplY3RTdG9yZU5hbWVzLT5pc0VtcHR5KCkgJiYgIW1fb2JqZWN0U3RvcmVOYW1l
cy0+Y29udGFpbnMobmFtZSkpIHsKKyAgICBpZiAobV9tb2RlICE9IElEQlRyYW5zYWN0aW9uOjpW
RVJTSU9OX0NIQU5HRSAmJiAhbV9vYmplY3RTdG9yZU5hbWVzLT5jb250YWlucyhuYW1lKSkgewog
ICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpOT1RfRk9VTkRfRVJSOwogICAgICAg
ICByZXR1cm4gMDsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112517</attachid>
            <date>2011-10-26 08:58:34 -0700</date>
            <delta_ts>2011-10-27 06:36:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70251-20111026085833.patch</filename>
            <type>text/plain</type>
            <size>79530</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg0NjkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YjU5N2M0NjQ2NjJkNWQ0
MTBmNzEwNTcyMDdkYzcxOTAzOWM1ZDg3Li43NjNkYWZjNzg3M2I1OGEzNWZhNjBhZTgzZjQ5ZTFi
OGFjNDljNGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMTAtMjYgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IFBhc3Np
bmcgZW1wdHkgYXJyYXkgdG8gSURCRGF0YWJhc2UudHJhbnNhY3Rpb24gc2hvdWxkIHJhaXNlIGV4
Y2VwdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzAyNTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
REJEYXRhYmFzZS50cmFuc2FjdGlvbigpIHN1cHBvcnRlZCBiZWluZyBjYWxsZWQgd2l0aCBhbiBl
bXB0eSBhcnJheSB0bworICAgICAgICBsb2NrIGFsbCBvYmplY3Qgc3RvcmVzLiBTdXBwb3J0IGZv
ciB0aGlzIHdhcyByZWplY3RlZCBmcm9tIGluY2x1c2lvbiBpbgorICAgICAgICB0aGUgSURCIHNw
ZWMgZHVlIHRvIHBlcmZvcm1hbmNlIGNvbmNlcm5zLiBUaGlzIHBhdGNoIHJlbW92ZXMgdGhhdAor
ICAgICAgICBmdW5jdGlvbmFsaXR5LgorCisgICAgICAgIEEgc3BlY2lhbCBjYXNlIGluIHRoZSBz
cGVjIChwYXNzaW5nIGEgc3RyaW5nIGluc3RlYWQgb2YgYW4gYXJyYXkpIHdvcmtlZAorICAgICAg
ICBpbiBXZWJLaXQgYWNjaWRlbnRhbGx5LCBieSByZXNvbHZpbmcgdGhlIHN0cmluZyB0byBhbiBl
bXB0eSBhcnJheS4gVGhpcworICAgICAgICBuZWVkZWQgZXhwbGljaXQgc3VwcG9ydC4gU3VwcG9y
dCBmb3IgRE9NU3RyaW5nW10gaXMgYWRkZWQgdG8gdGhlIGJpbmRpbmcKKyAgICAgICAgY29kZSBn
ZW5lcmF0b3JzIChyZWxpYW50IG9uIERPTVN0cmluZ0xpc3QpIHRvIGVuc3VyZSBKUyBhcnJheXMg
YXJlIG5vdAorICAgICAgICBjb2VyY2VkIHRvIERPTVN0cmluZ3MuIFRoaXMgbWF0Y2hlcyB0aGUg
cHJvcG9zZWQgSURMLgorCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
VjgucG06CisgICAgICAgIChHZW5lcmF0ZVBhcmFtZXRlcnNDaGVja0V4cHJlc3Npb24pOgorICAg
ICAgICAoR2V0TmF0aXZlVHlwZSk6CisgICAgICAgIChKU1ZhbHVlVG9OYXRpdmUpOgorICAgICAg
ICAoSXNBcnJheVR5cGUpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJl
LnBtOgorICAgICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkRhdGFi
YXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAg
ICAgICAqIHN0b3JhZ2UvSURCRGF0YWJhc2UuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbXBsOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZEltcGw6Om9iamVjdFN0b3JlKToKKwogMjAxMS0xMC0y
NiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBOb3Qg
cmV2aWV3ZWQ6IGZpeGluZyBpbnNwZWN0b3IgZXh0ZW5zaW9ucyB0ZXN0cy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggNDAz
NzUxNDdlYTJkMjYwY2NkYmYxZWY5NGE3MWQ4ZjkwN2E5NTc4Ny4uODA2ODc5YmNjYzUzNWRhYmE2
YzcxOTc5YjE2NGJiM2U4NzczYTRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTI5MSw2ICsyOTEsOSBAQCBzdWIgQWRk
SW5jbHVkZXNGb3JUeXBlCiAgICAgfSBlbHNpZiAoJHR5cGUgZXEgIlhQYXRoTlNSZXNvbHZlciIp
IHsKICAgICAgICAgJGluY2x1ZGVzUmVmLT57IkpTWFBhdGhOU1Jlc29sdmVyLmgifSA9IDE7CiAg
ICAgICAgICRpbmNsdWRlc1JlZi0+eyJKU0N1c3RvbVhQYXRoTlNSZXNvbHZlci5oIn0gPSAxOwor
ICAgIH0gZWxzaWYgKCR0eXBlIGVxICJET01TdHJpbmdbXSIpIHsKKyAgICAgICAgIyBGSVhNRTog
QWRkIHByb3BlciBzdXBwb3J0IGZvciBUW10sIFRbXT8sIHNlcXVlbmNlPFQ+CisgICAgICAgICRp
bmNsdWRlc1JlZi0+eyJKU0RPTVN0cmluZ0xpc3QuaCJ9ID0gMTsKICAgICB9IGVsc2lmICgkaXND
YWxsYmFjaykgewogICAgICAgICAkaW5jbHVkZXNSZWYtPnsiSlMke3R5cGV9LmgifSA9IDE7CiAg
ICAgfSBlbHNlIHsKQEAgLTEyMzAsNiArMTIzMywxMCBAQCBzdWIgR2VuZXJhdGVQYXJhbWV0ZXJz
Q2hlY2tFeHByZXNzaW9uCiAgICAgICAgICAgICAjIEZvciBDYWxsYmFja3Mgb25seSBjaGVja3Mg
aWYgdGhlIHZhbHVlIGlzIG51bGwgb3Igb2JqZWN0LgogICAgICAgICAgICAgcHVzaChAYW5kRXhw
cmVzc2lvbiwgIigke3ZhbHVlfS5pc051bGwoKSB8fCAke3ZhbHVlfS5pc09iamVjdCgpKSIpOwog
ICAgICAgICAgICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7CisgICAgICAg
IH0gZWxzaWYgKElzQXJyYXlUeXBlKCR0eXBlKSkgeworICAgICAgICAgICAgIyBGSVhNRTogQWRk
IHByb3BlciBzdXBwb3J0IGZvciBUW10sIFRbXT8sIHNlcXVlbmNlPFQ+CisgICAgICAgICAgICBw
dXNoKEBhbmRFeHByZXNzaW9uLCAiKCR7dmFsdWV9LmlzTnVsbCgpIHx8ICgke3ZhbHVlfS5pc09i
amVjdCgpICYmIGFzT2JqZWN0KCR7dmFsdWV9KS0+aW5oZXJpdHMoJkpTQXJyYXk6OnNfaW5mbykp
KSIpOworICAgICAgICAgICAgJHVzZWRBcmd1bWVudHN7JHBhcmFtZXRlckluZGV4fSA9IDE7CiAg
ICAgICAgIH0gZWxzaWYgKCFJc05hdGl2ZVR5cGUoJHR5cGUpKSB7CiAgICAgICAgICAgICBwdXNo
KEBhbmRFeHByZXNzaW9uLCAiKCR7dmFsdWV9LmlzTnVsbCgpIHx8ICgke3ZhbHVlfS5pc09iamVj
dCgpICYmIGFzT2JqZWN0KCR7dmFsdWV9KS0+aW5oZXJpdHMoJkpTJHt0eXBlfTo6c19pbmZvKSkp
Iik7CiAgICAgICAgICAgICAkdXNlZEFyZ3VtZW50c3skcGFyYW1ldGVySW5kZXh9ID0gMTsKQEAg
LTI2NDcsNiArMjY1NCw4IEBAIHN1YiBHZXROYXRpdmVUeXBlRnJvbVNpZ25hdHVyZQogbXkgJW5h
dGl2ZVR5cGUgPSAoCiAgICAgIkNvbXBhcmVIb3ciID0+ICJSYW5nZTo6Q29tcGFyZUhvdyIsCiAg
ICAgIkRPTVN0cmluZyIgPT4gImNvbnN0IFN0cmluZyYiLAorICAgICMgRklYTUU6IEFkZCBwcm9w
ZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/LCBzZXF1ZW5jZTxUPgorICAgICJET01TdHJpbmdbXSIg
PT4gIkRPTVN0cmluZ0xpc3QqIiwKICAgICAiRE9NT2JqZWN0IiA9PiAiU2NyaXB0VmFsdWUiLAog
ICAgICJOb2RlRmlsdGVyIiA9PiAiUmVmUHRyPE5vZGVGaWx0ZXI+IiwKICAgICAiU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlIiA9PiAiUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4iLApAQCAtMjcy
Miw2ICsyNzMxLDEzIEBAIHN1YiBJc05hdGl2ZVR5cGUKICAgICByZXR1cm4gZXhpc3RzICRuYXRp
dmVUeXBleyR0eXBlfTsKIH0KIAorc3ViIElzQXJyYXlUeXBlCit7CisgICAgbXkgJHR5cGUgPSBz
aGlmdDsKKyAgICAjIEZJWE1FOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIFRbXSwgVFtdPywgc2Vx
dWVuY2U8VD4uCisgICAgcmV0dXJuICR0eXBlID1+IG0vXFtcXSQvOworfQorCiBzdWIgSlNWYWx1
ZVRvTmF0aXZlCiB7CiAgICAgbXkgJHNpZ25hdHVyZSA9IHNoaWZ0OwpAQCAtMjc3MSw2ICsyNzg3
LDExIEBAIHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICAgICAgcmV0dXJuICJjcmVhdGVJREJLZXlG
cm9tVmFsdWUoZXhlYywgJHZhbHVlKSI7CiAgICAgfQogCisgICAgaWYgKCR0eXBlIGVxICJET01T
dHJpbmdbXSIpIHsKKyAgICAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkpTRE9NU3RyaW5nTGlzdC5o
IiwgJGNvbmRpdGlvbmFsKTsKKyAgICAgICAgcmV0dXJuICJ0b0RPTVN0cmluZ0xpc3QoJHZhbHVl
KSI7CisgICAgfQorCiAgICAgQWRkVG9JbXBsSW5jbHVkZXMoIkhUTUxPcHRpb25FbGVtZW50Lmgi
LCAkY29uZGl0aW9uYWwpIGlmICR0eXBlIGVxICJIVE1MT3B0aW9uRWxlbWVudCI7CiAgICAgQWRk
VG9JbXBsSW5jbHVkZXMoIkpTQ3VzdG9tVm9pZENhbGxiYWNrLmgiLCAkY29uZGl0aW9uYWwpIGlm
ICR0eXBlIGVxICJWb2lkQ2FsbGJhY2siOwogICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJFdmVudC5o
IiwgJGNvbmRpdGlvbmFsKSBpZiAkdHlwZSBlcSAiRXZlbnQiOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0gYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbQppbmRleCA2ODAzZmMxOGM0
NGMzYmYzMWQ2OGIzOTRiM2RkZTA3YTVhYWY4NzkxLi45ZmIyN2M1NDNkZDVlYmZlMjE1ZDk5NjYw
YjdkNDEwNTU0M2I3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JWOC5wbQpAQCAtMTE5Nyw2ICsxMTk3LDkgQEAgc3ViIEdlbmVyYXRl
UGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbgogICAgICAgICB9IGVsc2lmICgkcGFyYW1ldGVyLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbGJhY2sifSkgewogICAgICAgICAgICAgIyBGb3IgQ2Fs
bGJhY2tzIG9ubHkgY2hlY2tzIGlmIHRoZSB2YWx1ZSBpcyBudWxsIG9yIG9iamVjdC4KICAgICAg
ICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1ZX0tPklzTnVsbCgpIHx8ICR7dmFs
dWV9LT5Jc09iamVjdCgpKSIpOworICAgICAgICB9IGVsc2lmIChJc0FycmF5VHlwZSgkdHlwZSkp
IHsKKyAgICAgICAgICAgICMgRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgVFtdLCBUW10/
LCBzZXF1ZW5jZTxUPi4KKyAgICAgICAgICAgIHB1c2goQGFuZEV4cHJlc3Npb24sICIoJHt2YWx1
ZX0tPklzTnVsbCgpIHx8ICR7dmFsdWV9LT5Jc0FycmF5KCkpIik7CiAgICAgICAgIH0gZWxzaWYg
KElzV3JhcHBlclR5cGUoJHR5cGUpKSB7CiAgICAgICAgICAgICBwdXNoKEBhbmRFeHByZXNzaW9u
LCAiKCR7dmFsdWV9LT5Jc051bGwoKSB8fCBWOCR7dHlwZX06Okhhc0luc3RhbmNlKCR2YWx1ZSkp
Iik7CiAgICAgICAgIH0KQEAgLTMxMjcsNiArMzEzMCw4IEBAIHN1YiBHZXROYXRpdmVUeXBlCiAg
ICAgcmV0dXJuICJSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4iIGlmICR0eXBlIGVxICJN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIjsKIAogICAgIHJldHVybiAiUmVmUHRyPERPTVN0cmluZ0xp
c3Q+IiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nTGlzdCI7CisgICAgIyBGSVhNRTogQWRkIHByb3Bl
ciBzdXBwb3J0IGZvciBUW10sIFRbXT8sIHNlcXVlbmNlPFQ+LgorICAgIHJldHVybiAiUmVmUHRy
PERPTVN0cmluZ0xpc3Q+IiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nW10iOwogCiAgICAgIyBEZWZh
dWx0LCBhc3N1bWUgbmF0aXZlIHR5cGUgaXMgYSBwb2ludGVyIHdpdGggc2FtZSB0eXBlIG5hbWUg
YXMgaWRsIHR5cGUKICAgICByZXR1cm4gIiR7dHlwZX0qIjsKQEAgLTMxODAsNiArMzE4NSw4IEBA
IHN1YiBKU1ZhbHVlVG9OYXRpdmUKICAgICByZXR1cm4gInN0YXRpY19jYXN0PFJhbmdlOjpDb21w
YXJlSG93PigkdmFsdWUtPkludDMyVmFsdWUoKSkiIGlmICR0eXBlIGVxICJDb21wYXJlSG93IjsK
ICAgICByZXR1cm4gInRvV2ViQ29yZURhdGUoJHZhbHVlKSIgaWYgJHR5cGUgZXEgIkRhdGUiOwog
ICAgIHJldHVybiAidjhWYWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3QoJHZhbHVlKSIgaWYgJHR5
cGUgZXEgIkRPTVN0cmluZ0xpc3QiOworICAgICMgRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBm
b3IgVFtdLCBUW10/IGFuZCBzZXF1ZW5jZTxUPi4KKyAgICByZXR1cm4gInY4VmFsdWVUb1dlYkNv
cmVET01TdHJpbmdMaXN0KCR2YWx1ZSkiIGlmICR0eXBlIGVxICJET01TdHJpbmdbXSI7CiAKICAg
ICBpZiAoJHR5cGUgZXEgIkRPTVN0cmluZyIgb3IgJHR5cGUgZXEgIkRPTVVzZXJEYXRhIikgewog
ICAgICAgICByZXR1cm4gJHZhbHVlOwpAQCAtMzI0OSw2ICszMjU2LDcgQEAgc3ViIEdldFY4SGVh
ZGVyTmFtZQogICAgIHJldHVybiAiRXZlbnRUYXJnZXQuaCIgaWYgJHR5cGUgZXEgIkV2ZW50VGFy
Z2V0IjsKICAgICByZXR1cm4gIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIiBpZiAkdHlwZSBlcSAi
U2VyaWFsaXplZFNjcmlwdFZhbHVlIjsKICAgICByZXR1cm4gIlNjcmlwdFZhbHVlLmgiIGlmICR0
eXBlIGVxICJET01PYmplY3QiOworICAgIHJldHVybiAiVjhET01TdHJpbmdMaXN0LmgiIGlmICR0
eXBlIGVxICJET01TdHJpbmdbXSI7CiAgICAgcmV0dXJuICJWOCR7dHlwZX0uaCI7CiB9CiAKQEAg
LTMzNTEsNiArMzM1OSwxMyBAQCBzdWIgSXNXcmFwcGVyVHlwZQogICAgIHJldHVybiAhKCRub25f
d3JhcHBlcl90eXBlc3skdHlwZX0pOwogfQogCitzdWIgSXNBcnJheVR5cGUKK3sKKyAgICBteSAk
dHlwZSA9ICRjb2RlR2VuZXJhdG9yLT5TdHJpcE1vZHVsZShzaGlmdCk7CisgICAgIyBGSVhNRTog
QWRkIHByb3BlciBzdXBwb3J0IGZvciBUW10sIFRbXT8sIHNlcXVlbmNlPFQ+LgorICAgIHJldHVy
biAkdHlwZSA9fiBtL1xbXF0kLzsKK30KKwogc3ViIElzRE9NTm9kZVR5cGUKIHsKICAgICBteSAk
dHlwZSA9IHNoaWZ0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExTdHJ1Y3R1cmUucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFN0
cnVjdHVyZS5wbQppbmRleCAzNDAwZTBjOGQ5ZjEyMGE0MWQ0YzFhMmI0NjQ5NjM3ZTkwZWUzYWNh
Li42YmEwZTZmOThmOTk4MDk4MDNlZTM1MjU0OGNiMTM5MzdjOGE4ZjJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFN0cnVjdHVyZS5wbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETFN0cnVjdHVyZS5wbQpAQCAtODcsNyArODcs
NyBAQCBvdXIgJGNvbnN0VmFsdWUgPSAnKCJbXiJcclxuXSoiKXwoMFt4WF1bYS1mQS1GMC05XSsp
fCgtP1swLTldKiknOwogb3VyICRpZGxEYXRhVHlwZSA9ICdbYS16QS1aMC05XCBdJzsgICAjIEdl
bmVyaWMgZGF0YSB0eXBlIGlkZW50aWZpZXIKIAogIyBNYWdpYyBJREwgcGFyc2luZyByZWd1bGFy
IGV4cHJlc3Npb25zCi1teSAkc3VwcG9ydGVkVHlwZXMgPSAiKCg/OnVuc2lnbmVkICk/KD86aW50
fHNob3J0fCg/OmxvbmcgKT9sb25nKXwoPzokaWRsSWROcyopKSI7CitteSAkc3VwcG9ydGVkVHlw
ZXMgPSAiKCg/Oig/OnVuc2lnbmVkICk/KD86aW50fHNob3J0fCg/OmxvbmcgKT9sb25nKXwoPzok
aWRsSWROcyopKSg/OlxcW1xcXSk/KSI7CiAKICMgU3BlY2lhbCBJREwgbm90YXRpb25zLiBUaGlz
IHJlZ3VsYXIgZXhwcmVzc2lvbiBleHRyYWN0cyB0aGUgc3RyaW5nIGJldHdlZW4gdGhlIGZpcnN0
IFsgYW5kIGl0cyBjb3JyZXNwb25kaW5nIF0uCiBvdXIgJGV4dGVuZGVkQXR0cmlidXRlU3ludGF4
ID0gcXIvXFtbXlxbXF1dKig/Oig/P3skSURMU3RydWN0dXJlOjpleHRlbmRlZEF0dHJpYnV0ZVN5
bnRheH0pW15cW1xdXSopKlxdL3g7ICMgVXNlZCBmb3IgZXh0ZW5kZWQgYXR0cmlidXRlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2Jq
LmNwcAppbmRleCA4OTE2OTVjMzhhYzI3ZDhkYjFmYjQxYjNmMWY4MjM5NmJiYmRlMTkxLi4xZjc0
MWE1ZGEzY2Q2Y2JhZGNiMjlhZWQ0MGQ0MDQ0YzUwMTMzYjRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMjYs
NiArMjYsNyBAQAogI2luY2x1ZGUgIklEQkJpbmRpbmdVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJ
REJLZXkuaCIKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU0RPTVN0cmlu
Z0xpc3QuaCIKICNpbmNsdWRlICJKU0V2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJKU09wdGlv
bnNPYmplY3QuaCIKICNpbmNsdWRlICJKU1Rlc3RDYWxsYmFjay5oIgpAQCAtMTc3MCw2ICsxNzcx
LDM2IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDUoCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKIH0KIAorc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kNihFeGVjU3RhdGUq
IGV4ZWMpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBleGVjLT5ob3N0VGhpc1ZhbHVlKCk7
CisgICAgaWYgKCF0aGlzVmFsdWUuaW5oZXJpdHMoJkpTVGVzdE9iajo6c19pbmZvKSkKKyAgICAg
ICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CisgICAgSlNUZXN0T2JqKiBjYXN0ZWRU
aGlzID0gc3RhdGljX2Nhc3Q8SlNUZXN0T2JqKj4oYXNPYmplY3QodGhpc1ZhbHVlKSk7CisgICAg
QVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0ZWRUaGlzLCAmSlNUZXN0T2JqOjpzX2luZm8p
OworICAgIFRlc3RPYmoqIGltcCA9IHN0YXRpY19jYXN0PFRlc3RPYmoqPihjYXN0ZWRUaGlzLT5p
bXBsKCkpOworICAgIERPTVN0cmluZ0xpc3QqIGxpc3RBcmcodG9ET01TdHJpbmdMaXN0KGV4ZWMt
PmFyZ3VtZW50KDApKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIGltcC0+b3ZlcmxvYWRl
ZE1ldGhvZChsaXN0QXJnKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworfQorCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRNZXRob2Q3KEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAg
ICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IGV4ZWMtPmhvc3RUaGlzVmFsdWUoKTsKKyAgICBpZiAoIXRo
aXNWYWx1ZS5pbmhlcml0cygmSlNUZXN0T2JqOjpzX2luZm8pKQorICAgICAgICByZXR1cm4gdGhy
b3dWTVR5cGVFcnJvcihleGVjKTsKKyAgICBKU1Rlc3RPYmoqIGNhc3RlZFRoaXMgPSBzdGF0aWNf
Y2FzdDxKU1Rlc3RPYmoqPihhc09iamVjdCh0aGlzVmFsdWUpKTsKKyAgICBBU1NFUlRfR0NfT0JK
RUNUX0lOSEVSSVRTKGNhc3RlZFRoaXMsICZKU1Rlc3RPYmo6OnNfaW5mbyk7CisgICAgVGVzdE9i
aiogaW1wID0gc3RhdGljX2Nhc3Q8VGVzdE9iaio+KGNhc3RlZFRoaXMtPmltcGwoKSk7CisgICAg
RE9NU3RyaW5nTGlzdCogYXJyYXlBcmcodG9ET01TdHJpbmdMaXN0KGV4ZWMtPmFyZ3VtZW50KDAp
KSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIGltcC0+b3ZlcmxvYWRlZE1ldGhvZChhcnJh
eUFyZyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKK30KKwog
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92
ZXJsb2FkZWRNZXRob2QoRXhlY1N0YXRlKiBleGVjKQogewogICAgIHNpemVfdCBhcmdzQ291bnQg
PSBleGVjLT5hcmd1bWVudENvdW50KCk7CkBAIC0xNzg1LDYgKzE4MTYsMTAgQEAgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk92ZXJsb2FkZWRN
ZXRob2QoRXhlY1N0YXQKICAgICAgICAgcmV0dXJuIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
T3ZlcmxvYWRlZE1ldGhvZDQoZXhlYyk7CiAgICAgaWYgKChhcmdzQ291bnQgPT0gMSAmJiAoYXJn
MC5pc051bGwoKSB8fCBhcmcwLmlzT2JqZWN0KCkpKSkKICAgICAgICAgcmV0dXJuIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uT3ZlcmxvYWRlZE1ldGhvZDUoZXhlYyk7CisgICAgaWYgKChhcmdz
Q291bnQgPT0gMSAmJiAoYXJnMC5pc051bGwoKSB8fCAoYXJnMC5pc09iamVjdCgpICYmIGFzT2Jq
ZWN0KGFyZzApLT5pbmhlcml0cygmSlNET01TdHJpbmdMaXN0OjpzX2luZm8pKSkpKQorICAgICAg
ICByZXR1cm4ganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0aG9kNihleGVj
KTsKKyAgICBpZiAoKGFyZ3NDb3VudCA9PSAxICYmIChhcmcwLmlzTnVsbCgpIHx8IChhcmcwLmlz
T2JqZWN0KCkgJiYgYXNPYmplY3QoYXJnMCktPmluaGVyaXRzKCZKU0FycmF5OjpzX2luZm8pKSkp
KQorICAgICAgICByZXR1cm4ganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PdmVybG9hZGVkTWV0
aG9kNyhleGVjKTsKICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihleGVjKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4
IDc1YjQ5YWJjMjg0MzE1ZTMxNTcwYjk2OWJiMTU5Y2QyYTE4N2M5ZmIuLjIyNDJkZWU0MGE4ZGQ5
YzJhOWQ5MmQwODFhY2JmYzNkODFkZTM4OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKQEAgLTE1Nyw2ICsxNTcsOCBAQCBtb2R1bGUg
dGVzdCB7CiAgICAgICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBET01TdHJpbmcgc3Ry
QXJnKTsKICAgICAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIGxvbmcgaW50QXJnKTsK
ICAgICAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIFtDYWxsYmFja10gVGVzdENhbGxi
YWNrIGNhbGxiYWNrKTsKKyAgICAgICAgdm9pZCAgICBvdmVybG9hZGVkTWV0aG9kKGluIERPTVN0
cmluZ0xpc3QgbGlzdEFyZyk7CisgICAgICAgIHZvaWQgICAgb3ZlcmxvYWRlZE1ldGhvZChpbiBE
T01TdHJpbmdbXSBhcnJheUFyZyk7CiAjZW5kaWYKIAogICAgICAgICAvLyBDbGFzcyBtZXRob2Rz
IHdpdGhpbiBKYXZhU2NyaXB0IChsaWtlIHdoYXQncyB1c2VkIGZvciBJREJLZXlSYW5nZSkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0
T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RP
YmouY3BwCmluZGV4IDgzYTQ3OGM4YTExZmRkYWQyZTY2YmViOWZiZjA3Njc4NTE2MmY3YWIuLjAx
MjM5MTcxNGNiYTIxOTBkOTU3NTg1MzAzY2Y2Y2QyZTc5NGQ5MzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RPYmouY3BwCkBAIC0x
MTYwLDYgKzExNjAsMjQgQEAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBvdmVybG9hZGVk
TWV0aG9kNUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MKICAgICByZXR1cm4gdjg6
OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiB9CiAKK3N0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
b3ZlcmxvYWRlZE1ldGhvZDZDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQorewor
ICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoub3ZlcmxvYWRlZE1ldGhvZDYiKTsKKyAgICBUZXN0
T2JqKiBpbXAgPSBWOFRlc3RPYmo6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOworICAgIEVYQ0VQ
VElPTl9CTE9DSyhSZWZQdHI8RE9NU3RyaW5nTGlzdD4sIGxpc3RBcmcsIHY4VmFsdWVUb1dlYkNv
cmVET01TdHJpbmdMaXN0KE1BWUJFX01JU1NJTkdfUEFSQU1FVEVSKGFyZ3MsIDAsIE1pc3NpbmdJ
c1VuZGVmaW5lZCkpKTsKKyAgICBpbXAtPm92ZXJsb2FkZWRNZXRob2QobGlzdEFyZyk7CisgICAg
cmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCitzdGF0aWMgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IG92ZXJsb2FkZWRNZXRob2Q3Q2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5UZXN0T2JqLm92ZXJsb2FkZWRNZXRob2Q3Iik7
CisgICAgVGVzdE9iaiogaW1wID0gVjhUZXN0T2JqOjp0b05hdGl2ZShhcmdzLkhvbGRlcigpKTsK
KyAgICBFWENFUFRJT05fQkxPQ0soUmVmUHRyPERPTVN0cmluZ0xpc3Q+LCBhcnJheUFyZywgdjhW
YWx1ZVRvV2ViQ29yZURPTVN0cmluZ0xpc3QoTUFZQkVfTUlTU0lOR19QQVJBTUVURVIoYXJncywg
MCwgTWlzc2luZ0lzVW5kZWZpbmVkKSkpOworICAgIGltcC0+b3ZlcmxvYWRlZE1ldGhvZChhcnJh
eUFyZyk7CisgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOworfQorCiBzdGF0aWMg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IG92ZXJsb2FkZWRNZXRob2RDYWxsYmFjayhjb25zdCB2ODo6
QXJndW1lbnRzJiBhcmdzKQogewogICAgIElOQ19TVEFUUygiRE9NLlRlc3RPYmoub3ZlcmxvYWRl
ZE1ldGhvZCIpOwpAQCAtMTE3Myw2ICsxMTkxLDEwIEBAIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gb3ZlcmxvYWRlZE1ldGhvZENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
CiAgICAgICAgIHJldHVybiBvdmVybG9hZGVkTWV0aG9kNENhbGxiYWNrKGFyZ3MpOwogICAgIGlm
ICgoYXJncy5MZW5ndGgoKSA9PSAxICYmIChhcmdzWzBdLT5Jc051bGwoKSB8fCBhcmdzWzBdLT5J
c09iamVjdCgpKSkpCiAgICAgICAgIHJldHVybiBvdmVybG9hZGVkTWV0aG9kNUNhbGxiYWNrKGFy
Z3MpOworICAgIGlmICgoYXJncy5MZW5ndGgoKSA9PSAxICYmIChhcmdzWzBdLT5Jc051bGwoKSB8
fCBWOERPTVN0cmluZ0xpc3Q6Okhhc0luc3RhbmNlKGFyZ3NbMF0pKSkpCisgICAgICAgIHJldHVy
biBvdmVybG9hZGVkTWV0aG9kNkNhbGxiYWNrKGFyZ3MpOworICAgIGlmICgoYXJncy5MZW5ndGgo
KSA9PSAxICYmIChhcmdzWzBdLT5Jc051bGwoKSB8fCBhcmdzWzBdLT5Jc0FycmF5KCkpKSkKKyAg
ICAgICAgcmV0dXJuIG92ZXJsb2FkZWRNZXRob2Q3Q2FsbGJhY2soYXJncyk7CiAgICAgVjhQcm94
eTo6dGhyb3dUeXBlRXJyb3IoKTsKICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3Io
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCRGF0YWJhc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAKaW5kZXggN2NiYWY1YmY1
M2MyZTQyZTdmMzNkY2I2NmExYmViMTkwZjI2MTI3My4uYTgwMTQ0MzQyNTU4YTkzNGI4NzRmYjdh
ZDRkYjFjYmRlNTc0MDgyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJE
YXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5jcHAK
QEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJJREJEYXRhYmFzZS5oIgogCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRXZlbnRR
dWV1ZS5oIgogI2luY2x1ZGUgIklEQkFueS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlQ2FsbGJh
Y2tzSW1wbC5oIgpAQCAtMTIxLDExICsxMjIsMjAgQEAgUGFzc1JlZlB0cjxJREJWZXJzaW9uQ2hh
bmdlUmVxdWVzdD4gSURCRGF0YWJhc2U6OnNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGUK
ICAgICByZXR1cm4gcmVxdWVzdDsKIH0KIAorUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbj4gSURC
RGF0YWJhc2U6OnRyYW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgc3RvcmVOYW1lLCB1bnNpZ25lZCBzaG9ydCBtb2RlLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gc3RvcmVOYW1lcyA9IERPTVN0cmlu
Z0xpc3Q6OmNyZWF0ZSgpOworICAgIHN0b3JlTmFtZXMtPmFwcGVuZChzdG9yZU5hbWUpOworICAg
IHJldHVybiB0cmFuc2FjdGlvbihjb250ZXh0LCBzdG9yZU5hbWVzLCBtb2RlLCBlYyk7Cit9CisK
IFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IElEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IHBy
cFN0b3JlTmFtZXMsIHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewog
ICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiBzdG9yZU5hbWVzID0gcHJwU3RvcmVOYW1lczsKLSAg
ICBpZiAoIXN0b3JlTmFtZXMpCi0gICAgICAgIHN0b3JlTmFtZXMgPSBET01TdHJpbmdMaXN0Ojpj
cmVhdGUoKTsKKyAgICBpZiAoIXN0b3JlTmFtZXMgfHwgc3RvcmVOYW1lcy0+aXNFbXB0eSgpKSB7
CisgICAgICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CiAKICAgICBpZiAobW9kZSAhPSBJREJUcmFuc2FjdGlvbjo6UkVBRF9XUklURSAmJiBtb2Rl
ICE9IElEQlRyYW5zYWN0aW9uOjpSRUFEX09OTFkpIHsKICAgICAgICAgLy8gRklYTUU6IE1heSBu
ZWVkIHRvIGNoYW5nZSB3aGVuIHNwZWNjZWQ6IGh0dHA6Ly93d3cudzMub3JnL0J1Z3MvUHVibGlj
L3Nob3dfYnVnLmNnaT9pZD0xMTQwNgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9JREJEYXRhYmFzZS5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5oCmlu
ZGV4IDRmMmZjNGI2ZTZiZWVjYjUxMWJhZTY5MDhiNzVlNmE2MDI4N2M5MTEuLjZmZTQ1OTBiN2Jj
MTNiYzFiYzdlNTBkYTA5ODdkOTI2ZTFkNWMzMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvSURCRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRh
dGFiYXNlLmgKQEAgLTYxLDExICs2MSw5IEBAIHB1YmxpYzoKIAogICAgIC8vIEZJWE1FOiBUcnkg
dG8gbW9kaWZ5IHRoZSBjb2RlIGdlbmVyYXRvciBzbyB0aGlzIGlzIHVubmVlZGVkLgogICAgIFBh
c3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+IGNyZWF0ZU9iamVjdFN0b3JlKGNvbnN0IFN0cmluZyYg
bmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpIHsgcmV0dXJuIGNyZWF0ZU9iamVjdFN0b3JlKG5hbWUs
IE9wdGlvbnNPYmplY3QoKSwgZWMpOyB9Ci0gICAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbj4g
dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29k
ZSYgZWMpIHsgcmV0dXJuIHRyYW5zYWN0aW9uKGNvbnRleHQsIDAsIGVjKTsgfQotICAgIFBhc3NS
ZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gc3RvcmVOYW1lcywgRXhjZXB0aW9u
Q29kZSYgZWMpIHsgcmV0dXJuIHRyYW5zYWN0aW9uKGNvbnRleHQsIHN0b3JlTmFtZXMsIElEQlRy
YW5zYWN0aW9uOjpSRUFEX09OTFksIGVjKTsgfQotICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rp
b24+IHRyYW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERPTVN0
cmluZ0xpc3Q+LCB1bnNpZ25lZCBzaG9ydCBtb2RlLCBFeGNlcHRpb25Db2RlJik7Ci0KICAgICBQ
YXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBjcmVhdGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IE9wdGlvbnNPYmplY3QmLCBFeGNlcHRpb25Db2RlJik7CisgICAgUGFzc1Jl
ZlB0cjxJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4sIHVuc2lnbmVkIHNob3J0IG1vZGUsIEV4Y2VwdGlv
bkNvZGUmKTsKKyAgICBQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQgc2hvcnQgbW9kZSwg
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5n
JiBuYW1lLCBFeGNlcHRpb25Db2RlJik7CiAgICAgUGFzc1JlZlB0cjxJREJWZXJzaW9uQ2hhbmdl
UmVxdWVzdD4gc2V0VmVyc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5n
JiB2ZXJzaW9uLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJEYXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbAppbmRleCA4MmY2NDM1NjRkYTFmZjQ2M2NlOTFlYzg3
Zjg4YjYwZGFkZmJlNGY0Li5mMGIxZDBjMjgyNjU1YjU5NmQ1ZDhjYzVjZGZiZGMwOGVhYzRhYWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkRhdGFiYXNlLmlkbApAQCAtNDUsNyArNDUsMTEg
QEAgbW9kdWxlIHN0b3JhZ2UgewogICAgICAgICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2Vw
dGlvbik7CiAgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJWZXJz
aW9uQ2hhbmdlUmVxdWVzdCBzZXRWZXJzaW9uKGluIERPTVN0cmluZyB2ZXJzaW9uKQogICAgICAg
ICAgICAgcmFpc2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7Ci0gICAgICAgIFtDYWxsV2l0aD1T
Y3JpcHRFeGVjdXRpb25Db250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbihpbiBET01T
dHJpbmdMaXN0IHN0b3JlTmFtZXMsIGluIFtPcHRpb25hbF0gdW5zaWduZWQgc2hvcnQgbW9kZSkK
KyAgICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIElEQlRyYW5zYWN0aW9u
IHRyYW5zYWN0aW9uKGluIERPTVN0cmluZ0xpc3Qgc3RvcmVOYW1lcywgaW4gW09wdGlvbmFsPUNh
bGxXaXRoRGVmYXVsdFZhbHVlXSB1bnNpZ25lZCBzaG9ydCBtb2RlKQorICAgICAgICAgICAgcmFp
c2VzIChJREJEYXRhYmFzZUV4Y2VwdGlvbik7CisgICAgICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbihpbiBET01TdHJpbmdbXSBz
dG9yZU5hbWVzLCBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhEZWZhdWx0VmFsdWVdIHVuc2lnbmVkIHNo
b3J0IG1vZGUpCisgICAgICAgICAgICByYWlzZXMgKElEQkRhdGFiYXNlRXhjZXB0aW9uKTsKKyAg
ICAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIElEQlRyYW5zYWN0aW9uIHRy
YW5zYWN0aW9uKGluIERPTVN0cmluZyBzdG9yZU5hbWUsIGluIFtPcHRpb25hbD1DYWxsV2l0aERl
ZmF1bHRWYWx1ZV0gdW5zaWduZWQgc2hvcnQgbW9kZSkKICAgICAgICAgICAgIHJhaXNlcyAoSURC
RGF0YWJhc2VFeGNlcHRpb24pOwogICAgICAgICB2b2lkIGNsb3NlKCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQlRyYW5zYWN0aW9uQmFja2VuZEltcGwuY3BwCmluZGV4
IDAxNWRhMThkNjlhODI4YzU1NzE3OWEwZmMxYWYwYzEyOTMzNjJiZWYuLjhhMTIyNjRhYzc2MDkz
YTEyMWI5ZGRiYzMxODNmYjA5MTYxOGUwYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCVHJhbnNhY3Rpb25CYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsLmNwcApAQCAtNTIsNiArNTIsNyBAQCBJ
REJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsKERPTVN0
cmluZ0xpc3QqIG9iamVjdFN0b3JlcwogICAgICwgbV9wZW5kaW5nRXZlbnRzKDApCiB7CiAgICAg
QVNTRVJUKG1fb2JqZWN0U3RvcmVOYW1lcyk7CisgICAgQVNTRVJUKG1fbW9kZSA9PSBJREJUcmFu
c2FjdGlvbjo6VkVSU0lPTl9DSEFOR0UgfHwgIW1fb2JqZWN0U3RvcmVOYW1lcy0+aXNFbXB0eSgp
KTsKICAgICBtX2RhdGFiYXNlLT50cmFuc2FjdGlvbkNvb3JkaW5hdG9yKCktPmRpZENyZWF0ZVRy
YW5zYWN0aW9uKHRoaXMpOwogfQogCkBAIC02OSw3ICs3MCw3IEBAIFBhc3NSZWZQdHI8SURCT2Jq
ZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbXBsOjpvYmpl
Y3RTdG9yCiAgICAgfQogCiAgICAgLy8gRG9lcyBhIGxpbmVhciBzZWFyY2gsIGJ1dCBpdCByZWFs
bHkgc2hvdWxkbid0IGJlIHRoYXQgc2xvdyBpbiBwcmFjdGljZS4KLSAgICBpZiAoIW1fb2JqZWN0
U3RvcmVOYW1lcy0+aXNFbXB0eSgpICYmICFtX29iamVjdFN0b3JlTmFtZXMtPmNvbnRhaW5zKG5h
bWUpKSB7CisgICAgaWYgKG1fbW9kZSAhPSBJREJUcmFuc2FjdGlvbjo6VkVSU0lPTl9DSEFOR0Ug
JiYgIW1fb2JqZWN0U3RvcmVOYW1lcy0+Y29udGFpbnMobmFtZSkpIHsKICAgICAgICAgZWMgPSBJ
REJEYXRhYmFzZUV4Y2VwdGlvbjo6Tk9UX0ZPVU5EX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDg2NmE2YmMwZjYwMWJhMDFhMjIxNDk0MjY4NDliYzczYjM4NTBmZDAuLjZi
M2QwYTNlNzAwMzE2MTVhZTc4YjgzMmU5ZWU4ZmFhYjg3NDEzZTMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2
NSBAQAorMjAxMS0xMC0yNiAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEluZGV4ZWREQjogUGFzc2luZyBlbXB0eSBhcnJheSB0byBJREJEYXRhYmFzZS50cmFu
c2FjdGlvbiBzaG91bGQgcmFpc2UgZXhjZXB0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgdGVzdHMgcmVsaWVkIG9uIHRoZSBub24tc3BlY2lm
aWVkIGJlaGF2aW9yIG9mIHBhc3NpbmcgYW4gZW1wdHkKKyAgICAgICAgYXJyYXkgaW50byBJREJE
YXRhYmFzZS50cmFuc2FjdGlvbigpIHRvIGluY2x1ZGUgYWxsIG9iamVjdCBzdG9yZXMgaW4KKyAg
ICAgICAgc2NvcGVzLiBXb3JzZSwgbm9uLWFycmF5cyB3b3VsZCBiZSB0cmVhdGVkIGFzIGVtcHR5
IGFycmF5cywgYW5kIGhlbmNlCisgICAgICAgICJqdXN0IHdvcmtlZCIuCisKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVj
dC1zdG9yZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qt
c3RvcmUtb3B0aW9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
Y3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3ktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWw6CisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZXJy
b3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0Lmh0bWw6CisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0
cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXVuaXF1ZS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9tdXRhdGluZy1jdXJzb3IuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVt
ZW50Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1i
YXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVh
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
Y2xlYXIuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1v
dmVvYmplY3RzdG9yZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9yZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWw6CisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMtcmVj
dXJzaW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWw6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0
c3RvcmUtY2FsbHMuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5z
YWN0aW9uLWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5odG1sOgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5o
dG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLXJlYWQtb25seS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tcmVh
ZC1vbmx5Lmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3Rv
cmVOYW1lcy1yZXF1aXJlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvdHV0b3JpYWwuaHRtbDoKKwogMjAxMS0xMC0yNiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3Nz
eUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1v
YmplY3Qtc3RvcmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3JlYXRlLWFuZC1yZW1vdmUtb2JqZWN0LXN0b3JlLWV4cGVjdGVkLnR4dAppbmRleCA1MjhiYTg5
ZTk1YWYwN2U4YzhmNDhkNjM4YWY0YzI0ODg1MThmNjA0Li5jMzQxMWFjMTUxNTc0YWFkYzc4NjE5
OTNkYTE3ZjU5MGQ5ZTViNmFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3RvcmUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9y
ZS1leHBlY3RlZC50eHQKQEAgLTI4LDcgKzI4LDcgQEAgZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3Rt
cCcpCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3RtcCcp
CiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFi
YXNlRXhjZXB0aW9uLkNPTlNUUkFJTlRfRVJSCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKHttb2Rl
OiB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkKK3RyYW5zID0gZGIudHJhbnNhY3Rp
b24oWyd0bXAnXSkKIHRyYW5zLm9iamVjdFN0b3JlKCd0bXAnKS5nZXQoMCkKIFBBU1MgZXZlbnQu
dGFyZ2V0LnJlc3VsdCBpcyB1bmRlZmluZWQuCiBUcnlpbmcgY3JlYXRlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtYW5kLXJlbW92ZS1vYmplY3Qtc3Rv
cmUuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3Zl
LW9iamVjdC1zdG9yZS5odG1sCmluZGV4IDQzYzFmZTFmMWE5YTJjMWQ3ZGRhMThhMWYzOTk1MjBl
NzFlOGM4MWEuLjA0ZGZmNjU0ZWFkMDY5YmFjZTRmYzFhZDY5ODZiMTg4MmYxMGIwYTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1hbmQtcmVtb3ZlLW9i
amVjdC1zdG9yZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0
ZS1hbmQtcmVtb3ZlLW9iamVjdC1zdG9yZS5odG1sCkBAIC00Nyw3ICs0Nyw3IEBAIGZ1bmN0aW9u
IGNsZWFuRGF0YWJhc2UoKQogICAgIG9zID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3RtcCcpIik7CiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3RtcCcpIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkNPTlNUUkFJTlRfRVJS
Iik7CiAKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oe21v
ZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEV9KSIpOworICAgIHRyYW5zID0gZXZh
bEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3RtcCddKSIpOwogICAgIHJlcXVlc3Qg
PSBldmFsQW5kTG9nKCJ0cmFucy5vYmplY3RTdG9yZSgndG1wJykuZ2V0KDApIik7CiAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSB0cnlPbmNlTW9yZTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jcmVhdGUtb2JqZWN0LXN0b3JlLW9wdGlvbnMtZXhwZWN0
ZWQudHh0CmluZGV4IDVmMGU5NGRmYjYwMmRmNGE3MmVhMjNjNTFlNjZhMTY0MGY1MGFmMDcuLjE2
NWM4OWZmODY0ZjdkM2NhOTRiZjY5Yjk2NzBhOTE1ZWZkNTViODAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qtc3RvcmUtb3B0aW9ucy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVj
dC1zdG9yZS1vcHRpb25zLWV4cGVjdGVkLnR4dApAQCAtMTIsNyArMTIsNyBAQCBEZWxldGVkIGFs
bCBvYmplY3Qgc3RvcmVzLgogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2EnLCB7a2V5UGF0aDogJ2En
fSkKIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdiJykKIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdjJywg
e2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsKLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnYScs
ICdiJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiBQQVNTIHRyYW5zLm1vZGUg
aXMgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURQogdHJhbnMub2JqZWN0U3RvcmUoJ2En
KS5wdXQoeydhJzogMH0pCiB0cmFucy5vYmplY3RTdG9yZSgnYicpLnB1dCh7J2EnOiAwfSwgMCkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2NyZWF0ZS1vYmplY3Qt
c3RvcmUtb3B0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRl
LW9iamVjdC1zdG9yZS1vcHRpb25zLmh0bWwKaW5kZXggYmY2MDBkN2E5ZWUzYzA4YzE0Y2QxNGRi
ZGFlZjFjMzkyYzE4OWQ1Zi4uYjliZWNmMzkzOTc2ODEzYjZmYmYzODc0NDllY2NmOGQzODUzMTQ1
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3JlYXRlLW9iamVj
dC1zdG9yZS1vcHRpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
Y3JlYXRlLW9iamVjdC1zdG9yZS1vcHRpb25zLmh0bWwKQEAgLTQzLDcgKzQzLDcgQEAgZnVuY3Rp
b24gY2xlYW5EYXRhYmFzZSgpCiAgICAgZGVidWcoImRiLmNyZWF0ZU9iamVjdFN0b3JlKCdjJywg
e2F1dG9JbmNyZW1lbnQ6IHRydWV9KTsiKTsKICAgICBkYi5jcmVhdGVPYmplY3RTdG9yZSgnYycs
IHthdXRvSW5jcmVtZW50OiB0cnVlfSk7CiAKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5z
ID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7
CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnYScsICdi
J10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgc2hvdWxkQmUoInRy
YW5zLm1vZGUiLCAid2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSIpOwogCiAgICAgcmVx
ID0gZXZhbEFuZExvZygidHJhbnMub2JqZWN0U3RvcmUoJ2EnKS5wdXQoeydhJzogMH0pIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0
ZW5jeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
aW5jb25zaXN0ZW5jeS1leHBlY3RlZC50eHQKaW5kZXggMTFjYzI5MjEyYTYxODUxZTk1ODAxNmZi
MmQ3N2QwNTQzZWU3MTk1ZC4uYmFjZDQxZDAzM2RmMGMzNzY5OWVkODI4NDQxMTFhM2RiMGNhNTU4
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29u
c2lzdGVuY3ktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2N1cnNvci1pbmNvbnNpc3RlbmN5LWV4cGVjdGVkLnR4dApAQCAtMTYsNyArMTYsNyBAQCBvYmpl
Y3RTdG9yZS5hZGQoJ3NvbWVWYWx1ZTInLCAnc29tZUtleTInKS5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2sKIG9iamVjdFN0b3JlLmFkZCgnc29tZVZhbHVlMycsICdzb21lS2V5Mycp
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb2JqZWN0U3RvcmUuYWRkKCdzb21l
VmFsdWU0JywgJ3NvbWVLZXk0Jykub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBv
cGVuQmFzaWNDdXJzb3IoKQotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydiYXNpY1N0b3Jl
J10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vYmplY3RTdG9yZSgn
YmFzaWNTdG9yZScpCiBvYmplY3RTdG9yZS5vcGVuQ3Vyc29yKGtleVJhbmdlKQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWluY29uc2lzdGVuY3ku
aHRtbAppbmRleCBiOWNjYjU4YjJkYzk5YTA0MTI2MTBmMjhiOTU5MTMzNmFmNGY2Y2RmLi4wZDg1
ODNhNTY1YzA1MTIxNDg5MjgxYThjZTE1NTg5MzAxOTVkNmQ2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItaW5jb25zaXN0ZW5jeS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1pbmNvbnNpc3RlbmN5Lmh0bWwKQEAg
LTUzLDcgKzUzLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQogZnVuY3Rpb24gb3Bl
bkJhc2ljQ3Vyc29yKCkKIHsKICAgICBkZWJ1Zygib3BlbkJhc2ljQ3Vyc29yKCkiKTsKLSAgICBl
dmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24o
WydiYXNpY1N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAg
dHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHRyYW5zLm9uY29t
cGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQtZXhwZWN0ZWQudHh0
CmluZGV4IDMxN2M5MjVhNzQ3MWNkZWFjODgxOGJiZDMwMWVjZGEwNDY3Y2ZiZDEuLmUxMjlhZDkx
ZDZhMDQxMWRjYzk0N2NjYmMxNzkxZjdlZmU3MTdkYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQtZXhwZWN0
ZWQudHh0CkBAIC0xNiw3ICsxNiw3IEBAIG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCduYW1lSW5k
ZXgnLCAnbmFtZScpCiByZXNldE9iamVjdFN0b3JlKCk6CiAKIGJhc2ljQ3Vyc29yVGVzdCgpCi10
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpCiAKIHRlc3RDdXJzb3IoKToKIHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScp
Lm9wZW5DdXJzb3Iod2Via2l0SURCS2V5UmFuZ2UubG93ZXJCb3VuZCgwKSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1za2lwLWRlbGV0ZWQuaHRtbApp
bmRleCBhM2JiMGQ5NWVlYWEyMjc1NjY4YmM5ZjFhNDM1MjBlZDY5MWMzNGU4Li4wNDEzMGZlZGRi
M2E4ZTIwYTA5YTMxMzFhZjBmMzNhYmM1NzhjODlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Itc2tpcC1kZWxldGVkLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLXNraXAtZGVsZXRlZC5odG1sCkBAIC0xNDYsNyAr
MTQ2LDcgQEAgZnVuY3Rpb24gYmFzaWNDdXJzb3JUZXN0KCkKIHsKICAgICBkZWJ1ZygiYmFzaWND
dXJzb3JUZXN0KCkiKTsKIAotICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24o
W10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgZXZhbEFuZExvZygi
dHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNr
OwogICAgIHRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtZXhwZWN0
ZWQudHh0CmluZGV4IDk1NWJjZjkxOGVkZWQ0OGJkMTFiZmFhZTRhNGRhYjk2YWI1M2Q3MmQuLjRh
ZWJkNTQ2ZTA3NTk1YzFhYzA2YjlhODQxNGU3MDI0YjBmNjNhMDggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUtZXhwZWN0ZWQudHh0
CkBAIC0yNyw3ICsyNyw3IEBAIG9iamVjdFN0b3JlLmFkZCh7bnVtYmVyOiAyLCBpZDogMn0pLm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb2JqZWN0U3RvcmUuYWRkKHtudW1iZXI6
IDMsIGlkOiAzfSkub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrCiBvYmplY3RTdG9y
ZS5hZGQoe251bWJlcjogNCwgaWQ6IDR9KS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2sKIG9wZW5CYXNpY0N1cnNvcigpCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ2Jhc2lj
U3RvcmUnLCAnYXV0b0luY3JlbWVudFN0b3JlJywgJ2tleVBhdGhTdG9yZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub2JqZWN0U3RvcmUoJ2Jhc2ljU3RvcmUnKQog
b2JqZWN0U3RvcmUub3BlbkN1cnNvcihrZXlSYW5nZSkKIGJhc2ljVXBkYXRlQ3Vyc29yKCkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUuaHRt
bCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci11cGRhdGUuaHRtbAppbmRl
eCA3ODNhODhjMDE3ZWM0NTk1NDM2Mzk1YzU4MDc4NDQ0YWE4NGQ0NzMxLi5mZDk3Mjk0NjkxY2U5
NjM2NGJkMDM4ODgzM2UyNjkxMmFmMTVlODVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItdXBkYXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLXVwZGF0ZS5odG1sCkBAIC02NSw3ICs2NSw3IEBAIGZ1bmN0aW9u
IHNldFZlcnNpb25TdWNjZXNzKCkKIGZ1bmN0aW9uIG9wZW5CYXNpY0N1cnNvcigpCiB7CiAgICAg
ZGVidWcoIm9wZW5CYXNpY0N1cnNvcigpIik7Ci0gICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBl
dmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnYmFzaWNTdG9yZScsICdhdXRvSW5j
cmVtZW50U3RvcmUnLCAna2V5UGF0aFN0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUpIik7CiAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwog
ICAgIHRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlOwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLWV4cGVj
dGVkLnR4dAppbmRleCBhMDJiNTRjMmUxODA5NjMxMWVhZWU3MmM5ODkxNWIzYmVkOGNjMmQzLi4z
MWIxNGE4ZjY5NDE4YzRmOTA2YzVkNDU0NjM3YjFmMzNkODQ2NGI3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGEtY29ycnVwdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTEzLDEwICsxMywxMCBAQCBQQVNTIHRyYW5zICE9PSBudWxsIGlzIHRydWUKIERl
bGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKIGFkZERhdGEoKToKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsn
c3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiByZXF1ZXN0ID0g
dHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpLmFkZCh7eDogdGVzdERhdGV9LCAn
a2V5JykKIGFkZERhdGEoKToKLXRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfT05MWSkKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKQogcmVxdWVzdCA9
IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKS5nZXQoJ2tleScpCiBQQVNTIGV2
ZW50LnRhcmdldC5yZXN1bHQueC50b1N0cmluZygpID09IHRlc3REYXRlLnRvU3RyaW5nKCkgaXMg
dHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YS1jb3JydXB0aW9uLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhLWNvcnJ1cHRpb24uaHRtbAppbmRleCBlYTc5MjhiMThi
Zjg1YmVmZTNiNDgyNjc4OGY0NmY1YTRmODJjMGEzLi4wYWRiMjM1ZTViZjhkZjZiZTBmMjA2NTdm
MzdkMjU2NzhkMzQ5MjljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9kYXRhLWNvcnJ1cHRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9kYXRhLWNvcnJ1cHRpb24uaHRtbApAQCAtNDksNyArNDksNyBAQCB2YXIgdGVzdERhdGUgPSBu
ZXcgRGF0ZSgnRmVicnVhcnkgMjQsIDE5NTUgMTI6MDA6MDgnKTsKIGZ1bmN0aW9uIGFkZERhdGEo
KQogewogICAgIGRlYnVnKCJhZGREYXRhKCk6Iik7Ci0gICAgdmFyIHRyYW5zYWN0aW9uID0gZXZh
bEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0
cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgdmFyIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1
ZXN0ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpLmFkZCh7eDogdGVzdERh
dGV9LCAna2V5JykiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZ2V0RGF0YTsKQEAgLTU4LDcgKzU4
LDcgQEAgZnVuY3Rpb24gYWRkRGF0YSgpCiBmdW5jdGlvbiBnZXREYXRhKCkKIHsKICAgICBkZWJ1
ZygiYWRkRGF0YSgpOiIpOwotICAgIHZhciB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfT05M
WSkiKTsKKyAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRi
LnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfT05M
WSkiKTsKICAgICB2YXIgcmVxdWVzdCA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykuZ2V0KCdrZXknKSIpOwogICAgIHJlcXVlc3Qub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
ZG9DaGVjazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFi
YXNlLXF1b3RhLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1x
dW90YS5odG1sCmluZGV4IDJlNjIyZjA0NTU4ZWNhN2UwZjBlYTc1NzQxYjRkZTFjZjQ1ZjhiOGIu
LjdhZDBjNDgyNjlmOGEwMzIwNDFhOGVjYTUyYzk4ZmNmMDQxMzE2NzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLXF1b3RhLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtcXVvdGEuaHRtbApAQCAtNjEsNyAr
NjEsNyBAQCBmdW5jdGlvbiBjaGVja09iamVjdFN0b3JlKCkKIAogZnVuY3Rpb24gY2hlY2tRdW90
YUVuZm9yY2luZygpCiB7Ci0gICAgdmFyIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB2
YXIgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsndGVzdDEyMydd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zLm9uYWJvcnQg
PSB0ZXN0Q29tcGxldGU7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0
ZUNhbGxiYWNrOwogICAgIGRlYnVnKCJDcmVhdGluZyAnZGF0YScgd2hpY2ggY29udGFpbnMgNjRL
IG9mIGRhdGEiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vy
cm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZhdWx0LWV4cGVjdGVkLnR4
dAppbmRleCA5NmY0YjY1ZjY0NzE3NzIwMzdiNzdiMjQ4MDliMTk4NjdkM2JkODMzLi44YTU1ZDlm
NzcyNGU1ZjIzZDgzNTQzZWYwN2VkNjU0MmFmMDFhYjQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFi
b3J0LWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0CkBAIC0xMiw3ICsxMiw3IEBAIFBBU1MgdHJhbnMg
IT09IG51bGwgaXMgdHJ1ZQogdHJhbnMub25jb21wbGV0ZSA9IGFkZERhdGEKIERlbGV0ZWQgYWxs
IG9iamVjdCBzdG9yZXMuCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkK
LXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJh
Y2sKIHRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlZAogc3RvcmUgPSB0cmFu
cy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKQEAgLTIyLDcgKzIyLDcgQEAgZXZlbnQucHJldmVu
dERlZmF1bHQoKQogUEFTUyBUcmFuc2FjdGlvbiBjb21wbGV0ZWQKIAogCi10cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBk
Yi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKQogdHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZDEKIHRyYW5zLm9uY29tcGxl
dGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjawogc3RvcmUgPSB0cmFucy5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKQEAgLTMxLDcgKzMxLDcgQEAgRG9pbmcgbm90aGluZyB0byBwcmV2ZW50
IHRoZSBkZWZhdWx0IGFjdGlvbi4uLgogUEFTUyBUcmFuc2FjdGlvbiBhYm9ydGVkCiAKIAotdHJh
bnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkK
K3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyCiB0cmFu
cy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2sKIHN0b3JlID0gdHJhbnMu
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZXJyb3ItY2F1c2VzLWFib3J0LWJ5LWRlZmF1bHQuaHRtbApp
bmRleCA4Y2U2ZDA3ZDc1MTdkYmE4NmFhMTBjMzM4NjdmYTdlODgxZmQ1NmY5Li5kMTk4YjBhY2Mx
NWRlNTYwOGZkOGZkZGQ5NWQ4ZmJmZDAzMTE4Njc4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9lcnJvci1jYXVzZXMtYWJvcnQtYnktZGVmYXVsdC5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Vycm9yLWNhdXNlcy1hYm9ydC1ieS1kZWZh
dWx0Lmh0bWwKQEAgLTQ1LDcgKzQ1LDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogCiBm
dW5jdGlvbiBhZGREYXRhKCkKIHsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAg
dHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10s
IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJh
bnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygi
dHJhbnMub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGVkIik7CiAgICAgc3RvcmUgPSBl
dmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwpAQCAt
NzIsNyArNzIsNyBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkNvbXBsZXRlZCgpCiAgICAgdGVzdFBh
c3NlZCgiVHJhbnNhY3Rpb24gY29tcGxldGVkIik7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVn
KCIiKTsKLSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10s
IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJhbnMgPSBldmFsQW5k
TG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25hYm9ydCA9IHRy
YW5zYWN0aW9uQWJvcnRlZDEiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0g
dW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2siKTsKICAgICBzdG9yZSA9IGV2YWxBbmRMb2coInN0
b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CkBAIC05MSw3ICs5MSw3IEBA
IGZ1bmN0aW9uIHRyYW5zYWN0aW9uQWJvcnRlZDEoKQogICAgIHRlc3RQYXNzZWQoIlRyYW5zYWN0
aW9uIGFib3J0ZWQiKTsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIiIpOwotICAgIHRyYW5z
ID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVk
MiIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxl
dGVDYWxsYmFjayIpOwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy1leHBlY3Rl
ZC50eHQKaW5kZXggZDRiNzRmYWRmMTI3MGNlZWUwM2RjNWY1MWNjOGFiZWM0N2ViZGJhMC4uZTk3
ODVjYjE2YThmMjVlMzFmY2VhNmI5OGQ4ODc2ZjdmMjMyMTA4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2
ZW50LWFib3J0cy1leHBlY3RlZC50eHQKQEAgLTE2LDcgKzE2LDcgQEAgRGVsZXRlZCBhbGwgb2Jq
ZWN0IHN0b3Jlcy4KIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51
bGwpCiBzdG9yZS5hZGQoe3g6ICd2YWx1ZScsIHk6ICd6enonfSwgJ2tleScpCiAKLXRyYW5zID0g
ZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFu
cyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkMQogdHJhbnMub25j
b21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrCiBzdG9yZSA9IHRyYW5zLm9iamVj
dFN0b3JlKCdzdG9yZU5hbWUnKQpAQCAtMjYsNyArMjYsNyBAQCBldmVudC5wcmV2ZW50RGVmYXVs
dCgpCiBUaHJvd2luZwogCiBQQVNTIFRoZSB0cmFuc2FjdGlvbiB3YXMgYWJvcnRlZC4KLXRyYW5z
ID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkMgogdHJhbnMu
b25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrCiBzdG9yZSA9IHRyYW5zLm9i
amVjdFN0b3JlKCdzdG9yZU5hbWUnKQpAQCAtMzYsNyArMzYsNyBAQCBldmVudC5wcmV2ZW50RGVm
YXVsdCgpCiBUaHJvd2luZwogCiBQQVNTIFRoZSB0cmFuc2FjdGlvbiB3YXMgYWJvcnRlZC4KLXRy
YW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Cit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sK
IHRyYW5zLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlZDEKIHN0b3JlID0gdHJhbnMu
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCkBAIC00Niw3ICs0Niw3IEBAIGV2ZW50LnByZXZlbnRE
ZWZhdWx0KCkKIFRocm93aW5nIHdpdGhpbiBhIHRyeSBibG9jawogCiBQQVNTIFRoZSB0cmFuc2Fj
dGlvbiBjb21wbGV0ZWQuCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFu
c2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSdd
LCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25hYm9ydCA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrCiB0cmFucy5vbmNvbXBsZXRlID0gdHJhbnNhY3Rpb25Db21wbGV0
ZWQyCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFib3J0cy5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9uLWluLWV2ZW50LWFi
b3J0cy5odG1sCmluZGV4IDg5ZTI3ZWYwZGRkYTJkMzhkOTBlYTBkYzI2ZDlkMmM2MjU0YTE1MTcu
LjlmNTIyYmUxYjU4ZDIwODBiOWZlM2ZhYTdjZTcwMTM4ODRiMDk3MzkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbi1pbi1ldmVudC1hYm9ydHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb24taW4tZXZlbnQt
YWJvcnRzLmh0bWwKQEAgLTQ4LDcgKzQ4LDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQog
ZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKICAgICBkZWJ1ZygiIik7Ci0gICAgdHJhbnMgPSBldmFs
QW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5S
RUFEX1dSSVRFKSIpOworICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2Fj
dGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwog
ICAgIGV2YWxBbmRMb2coInRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQxIik7CiAg
ICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxi
YWNrIik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3Jl
KCdzdG9yZU5hbWUnKSIpOwpAQCAtNjksNyArNjksNyBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFi
b3J0ZWQxKCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAgdGVzdFBhc3NlZCgiVGhlIHRyYW5zYWN0
aW9uIHdhcyBhYm9ydGVkLiIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwg
d2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFu
cy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkMiIpOwogICAgIGV2YWxBbmRMb2coInRyYW5z
Lm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjayIpOwogICAgIHN0b3JlID0g
ZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKQEAg
LTgyLDcgKzgyLDcgQEAgZnVuY3Rpb24gdHJhbnNhY3Rpb25BYm9ydGVkMigpCiB7CiAgICAgZGVi
dWcoIiIpOwogICAgIHRlc3RQYXNzZWQoIlRoZSB0cmFuc2FjdGlvbiB3YXMgYWJvcnRlZC4iKTsK
LSAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtp
dElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHRy
YW5zYWN0aW9uQ29tcGxldGVkMSIpOwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0
cmFucy5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKQEAgLTEwNyw3ICsxMDcsNyBAQCBmdW5j
dGlvbiB0cmFuc2FjdGlvbkNvbXBsZXRlZDEoKQogewogICAgIGRlYnVnKCIiKTsKICAgICB0ZXN0
UGFzc2VkKCJUaGUgdHJhbnNhY3Rpb24gY29tcGxldGVkLiIpOwotICAgIHRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAg
ICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2siKTsK
ICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gdHJhbnNhY3Rpb25Db21wbGV0ZWQy
Iik7CiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdz
dG9yZU5hbWUnKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
aW5kZXgtdW5pcXVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2luZGV4LXVuaXF1ZS1leHBlY3RlZC50eHQKaW5kZXggOWYxMGY0MTQ0ZmZkNDhhNTZiOGQ1OGFm
OTBmMDliYzZmNDMxOGY4ZS4uYjFhMDI3MzAzNDdhZWY0OGUzMzE2YzI1NmU2ODBlOGQ2NDYzODY2
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVl
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11
bmlxdWUtZXhwZWN0ZWQudHh0CkBAIC0xMyw3ICsxMyw3IEBAIERlbGV0ZWQgYWxsIG9iamVjdCBz
dG9yZXMuCiBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKQogc3RvcmUuY3JlYXRlSW5kZXgo
J2luZGV4JywgJ3gnLCB7dW5pcXVlOiB0cnVlfSkKIHNldFZlcnNpb25Db21wbGV0ZWQoKToKLXRy
YW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUpCit0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScp
LnB1dCh7eDogMX0sICdmb28nKQogYWRkTW9yZURhdGEoKToKIHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZScpLnB1dCh7eDogMX0sICdiYXInKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtdW5pcXVlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9pbmRleC11bmlxdWUuaHRtbAppbmRleCA1MGI2MzliYjZkMWM3MGMxMDgzYzk2
NjA2ZWI2NzU1MzBmOTg0MmY4Li5iMDdlMTg0MDNiODJmOTY1OGRmYzY2ZjNiNDU2MWVjMzA5MTY1
YTFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlx
dWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC11bmlxdWUu
aHRtbApAQCAtNDksNyArNDksNyBAQCBmdW5jdGlvbiBkZWxldGVFeGlzdGluZygpCiBmdW5jdGlv
biBzZXRWZXJzaW9uQ29tcGxldGVkKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lvbkNvbXBsZXRl
ZCgpOiIpOwotICAgIHdpbmRvdy50cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7
CisgICAgd2luZG93LnRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbihbJ3N0b3JlJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7
CiAKICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygidHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0
b3JlJykucHV0KHt4OiAxfSwgJ2ZvbycpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9tdXRhdGluZy1jdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLWV4cGVjdGVkLnR4dAppbmRleCAyNzBiMjRmZTc0NmU2
YWMwN2U5ZTZiOTliMzExNjQyZGNlZjgyMTYwLi4yYjg5YjYxYWFmZDZmYzQ3OTEyYzczMTg3NTFk
MjFjYjAwZTI3N2JmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9t
dXRhdGluZy1jdXJzb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL211dGF0aW5nLWN1cnNvci1leHBlY3RlZC50eHQKQEAgLTE2LDcgKzE2LDcgQEAgb2Jq
ZWN0U3RvcmUuYWRkKDIsIDIpLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb2Jq
ZWN0U3RvcmUuYWRkKDMsIDMpLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb2Jq
ZWN0U3RvcmUuYWRkKDQsIDQpLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjawogb3Bl
bkZvcndhcmRDdXJzb3IoKQotdHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3Jl
JykKIG9iamVjdFN0b3JlLm9wZW5DdXJzb3IoKQogZm9yd2FyZEN1cnNvcigpCkBAIC00OSw3ICs0
OSw3IEBAIGZvcndhcmRDdXJzb3IoKQogUEFTUyBjdXJzb3JTdGVwcyBpcyA1CiBmb3J3YXJkQ3Vy
c29yQ29tcGxldGUoKQogb3BlblJldmVyc2VDdXJzb3IoKQotdHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5zID0gZGIudHJhbnNh
Y3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMu
b2JqZWN0U3RvcmUoJ3N0b3JlJykKIG9iamVjdFN0b3JlLm9wZW5DdXJzb3IobnVsbCwgd2Via2l0
SURCQ3Vyc29yLlBSRVYpCiByZXZlcnNlQ3Vyc29yKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL211dGF0aW5nLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbXV0YXRpbmctY3Vyc29yLmh0bWwKaW5kZXggNTgwOGRiNzc1MTljMjE5
NDU4OTRkNTM3ZjllZTg3NmY0NzViMjY3Ny4uY2YxOTFiYjRkNzA2NzQwZjEwNzYzOTI3OGNlYWVl
Y2Y3NDY2Y2QzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0
YXRpbmctY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbXV0
YXRpbmctY3Vyc29yLmh0bWwKQEAgLTUyLDcgKzUyLDcgQEAgZnVuY3Rpb24gc2V0VmVyc2lvblN1
Y2Nlc3MoKQogZnVuY3Rpb24gb3BlbkZvcndhcmRDdXJzb3IoKQogewogICAgIGRlYnVnKCJvcGVu
Rm9yd2FyZEN1cnNvcigpIik7Ci0gICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlv
bihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9n
KCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJh
Y2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZvcndhcmRDdXJzb3JDb21wbGV0ZTsKIApAQCAt
OTcsNyArOTcsNyBAQCBmdW5jdGlvbiBmb3J3YXJkQ3Vyc29yQ29tcGxldGUoKQogZnVuY3Rpb24g
b3BlblJldmVyc2VDdXJzb3IoKQogewogICAgIGRlYnVnKCJvcGVuUmV2ZXJzZUN1cnNvcigpIik7
Ci0gICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5z
YWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAg
ICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25j
b21wbGV0ZSA9IHJldmVyc2VDdXJzb3JDb21wbGV0ZTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVt
ZW50LWV4cGVjdGVkLnR4dAppbmRleCA4N2U0NzdiZWU4Y2M5N2U4N2Q0NzJjNTE3MmU3MDU1MDBk
NmE5YWM0Li40OGIxMWJiMGI5MDNiYTg2NzUzMWM2NmE2OWM2ZTk1YjNmMDUyYjVlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVt
ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1hdXRvaW5jcmVtZW50LWV4cGVjdGVkLnR4dApAQCAtMjMsNyArMjMsNyBAQCBQQVNT
IHN0b3JlTmFtZXMuY29udGFpbnMoJ1N0b3JlV2l0aEF1dG9JbmNyZW1lbnQnKSBpcyB0cnVlCiBQ
QVNTIHN0b3JlTmFtZXMuY29udGFpbnMoJ1BsYWluT2xkU3RvcmUnKSBpcyB0cnVlCiBQQVNTIHN0
b3JlTmFtZXMubGVuZ3RoIGlzIDMKIHNldFZlcnNpb25Db21wbGV0ZWQoKToKLXRyYW5zID0gZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKFsnU3RvcmVXaXRoS2V5UGF0aCcsICdTdG9yZVdpdGhBdXRvSW5jcmVt
ZW50JywgJ1BsYWluT2xkU3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkK
IHN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ1N0b3JlV2l0aEtleVBhdGgnKQogSW5zZXJ0IGlu
dG8gb2JqZWN0IHN0b3JlIHdpdGggYXV0byBpbmNyZW1lbnQgYW5kIGtleSBwYXRoLCB3aXRoIGtl
eSBpbiB0aGUgb2JqZWN0Lgogc3RvcmUuYWRkKHtuYW1lOiAnSmVmZmVyc3NvbicsIG51bWJlcjog
JzcwMTAnLCBpZDogM30pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9vYmplY3RzdG9yZS1hdXRvaW5jcmVtZW50Lmh0bWwKaW5kZXggMDk0NWM4NDE4Yjkw
NjljZWQ5NGJlMTA2NzE4Y2I4ZmRhMDllZTM1Ny4uY2YzZTU2OGIzMzgxMWFjYTc0ODUzOTU4ODg3
YTg1ZGQ2MzAyNWQ5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYXV0b2luY3JlbWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWF1dG9pbmNyZW1lbnQuaHRtbApAQCAtNjEsNyArNjEsNyBA
QCBmdW5jdGlvbiBzZXRWZXJzaW9uQ29tcGxldGVkKCkKIHsKICAgICBkZWJ1Zygic2V0VmVyc2lv
bkNvbXBsZXRlZCgpOiIpOwogCi0gICAgd2luZG93LnRyYW5zID0gZXZhbEFuZExvZygidHJhbnMg
PSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsK
KyAgICB3aW5kb3cudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsn
U3RvcmVXaXRoS2V5UGF0aCcsICdTdG9yZVdpdGhBdXRvSW5jcmVtZW50JywgJ1BsYWluT2xkU3Rv
cmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFucy5vbmFi
b3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CiAgICAgdHJhbnMub25jb21wbGV0ZSA9IGRv
bmU7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IDFhMTA4Y2VlOTFlY2JhYmNhZTFi
NzcyM2EzNWEwNmJkNTdlODA3MzUuLjZlY2M0MzBjMzg1OTRlZWM4YTBhNWI4MDBlYzNlYjc5YmUz
ODI3MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0
b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtNTAsNyArNTAsNyBAQCBQQVNT
IHN0b3JlLmluZGV4TmFtZXNbMV0gaXMgbnVsbAogUEFTUyBzdG9yZS5pbmRleE5hbWVzWzEwMF0g
aXMgbnVsbAogUEFTUyBzdG9yZS5pbmRleE5hbWVzLml0ZW0oMSkgaXMgbnVsbAogUEFTUyBzdG9y
ZS5pbmRleE5hbWVzLml0ZW0oMTAwKSBpcyBudWxsCi10cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0
aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnNhY3Rpb24gPSBk
Yi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIFRyeSB0
byBpbnNlcnQgZGF0YSB3aXRoIGEgRGF0ZSBrZXk6CiBzdG9yZS5hZGQoe3g6ICdmb28nfSwgdGVz
dERhdGUpCkBAIC02NiwyMCArNjYsMjAgQEAgZXZlbnQudGFyZ2V0LnNvdXJjZS5hZGQoe3g6ICdm
b28nfSwgJ3p6eicpCiBhZGRBZ2FpbkZhaWx1cmUoKToKIFBBU1MgZXZlbnQudGFyZ2V0LmVycm9y
Q29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5DT05TVFJBSU5UX0VSUgogZXZlbnQu
cHJldmVudERlZmF1bHQoKQotZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpCitkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFu
c2FjdGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKIHN0b3JlLmFkZCh7eDogJ3NvbWV2YWx1ZSd9LCAnc29tZWtleScpCiBFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuYWRkKHt4OiAnb3RoZXJ2YWx1ZSd9LCBudWxsKQogUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5EQVRBX0VSUgotZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9u
LlJFQURfV1JJVEUpCitkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFu
c2FjdGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJykKIHN0b3JlLmFkZCh7eDogbnVsbH0sICd2YWxpZGtleScpCiBQQVNTIGV2ZW50LmNh
bmNlbGFibGUgaXMgdHJ1ZQogYWRkV2l0aE51bGxJbmRleEZhaWx1cmUoKToKIFBBU1MgZXZlbnQu
dGFyZ2V0LmVycm9yQ29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgog
ZXZlbnQucHJldmVudERlZmF1bHQoKQotZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCitkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykKIHN0b3JlLmdldCgna2V5JykKIGdldFN1Y2Nlc3MoKToKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwK
aW5kZXggOGU0NTE2OTI5MWZlYTFjZTA3NmU1OWQ4OTJmZWU4YWY2NzlhODAzNy4uMWI1ZDM4NGU4
OWY0ZTIxMTY3NmQ2Y2E1YTM2OTg1OGY4YjY4NTQxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKQEAgLTEzNSw3ICsx
MzUsNyBAQCB2YXIgdGVzdERhdGVCID0gbmV3IERhdGUoIldlZCBKYW4gMDUgMjAxMSAxNTo1NDo0
OSIpOwogCiBmdW5jdGlvbiBhZGREYXRhKCkKIHsKLSAgICB2YXIgdHJhbnNhY3Rpb24gPSBldmFs
QW5kTG9nKCJ0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHZhciB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRy
YW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNh
Y3Rpb24uUkVBRF9XUklURSkiKTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3Rl
ZEFib3J0Q2FsbGJhY2s7CiAgICAgd2luZG93LnN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0
cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKIApAQCAtMTgxLDE0ICsxODEs
MTQgQEAgZnVuY3Rpb24gYWRkQWdhaW5GYWlsdXJlKCkKIAogICAgIGV2YWxBbmRMb2coImV2ZW50
LnByZXZlbnREZWZhdWx0KCkiKTsKIAotICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIu
dHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAg
dHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJv
cnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9n
KCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwogCiAgICAg
ZXZhbEFuZExvZygic3RvcmUuYWRkKHt4OiAnc29tZXZhbHVlJ30sICdzb21la2V5JykiKTsKICAg
ICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQoe3g6ICdvdGhlcnZhbHVlJ30sIG51
bGwpIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKLSAgICB0cmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIpOworICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJh
bnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSki
KTsKICAgICB0cmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAg
ICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmVOYW1lJykiKTsKIApAQCAtMjA1LDcgKzIwNSw3IEBAIGZ1bmN0aW9uIGFkZFdpdGhO
dWxsSW5kZXhGYWlsdXJlKCkKIAogICAgIGV2YWxBbmRMb2coImV2ZW50LnByZXZlbnREZWZhdWx0
KCkiKTsKIAotICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oW10s
IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJhbnNhY3Rpb24gPSBl
dmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2Fj
dGlvbi5SRUFEX1dSSVRFKSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5z
YWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci1leHBlY3RlZC50
eHQKaW5kZXggMjg3NWZkNmIyOTlkN2Q1NDcyNDI4ZGEyOGU5M2I5ZmQxOTBlMzU5OS4uNGE4MjQ5
MzUzODdiOGFjYTk4NzA3MzI3NzZjYTg0MGUyODg1MzIwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWNsZWFyLWV4cGVjdGVk
LnR4dApAQCAtMjMsNyArMjMsNyBAQCBpbmRleCA9IHN0b3JlLmluZGV4KCdpbmRleE5hbWUnKQog
aW5kZXgub3BlbktleUN1cnNvcigpCiBvcGVuS2V5Q3Vyc29yU3VjY2VzcygpOgogUEFTUyBldmVu
dC50YXJnZXQucmVzdWx0IGlzIG51bGwKLWRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFfSkKK2RiLnRyYW5zYWN0aW9uKFsnb3RoZXJTdG9yZU5hbWUn
XSkKIG90aGVyU3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnb3RoZXJTdG9yZU5hbWUn
KQogb3RoZXJTdG9yZS5nZXQoJ2tleScpCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgInZh
bHVlIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3Rv
cmUtY2xlYXIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3Jl
LWNsZWFyLmh0bWwKaW5kZXggZjE4ODQ4YjQ0ZDlhNTQzMjg4YmI5ODUwZTVkZGMwNDNkMzJkZDgz
ZS4uMDNkZDVkZDNiMjQ1MDQzZWY1OTJhNzMzZmI3MjAxYzFlMDZhNjE0NSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtY2xlYXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1jbGVhci5odG1sCkBA
IC04Nyw3ICs4Nyw3IEBAIGZ1bmN0aW9uIG9wZW5LZXlDdXJzb3JTdWNjZXNzKCkKICAgICBkZWJ1
Zygib3BlbktleUN1cnNvclN1Y2Nlc3MoKToiKTsKICAgICBzaG91bGRCZU51bGwoImV2ZW50LnRh
cmdldC5yZXN1bHQiKTsKIAotICAgIHRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNh
Y3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEV9KSIpOworICAgIHRy
YW5zYWN0aW9uID0gZXZhbEFuZExvZygiZGIudHJhbnNhY3Rpb24oWydvdGhlclN0b3JlTmFtZSdd
KSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
ICAgICB2YXIgb3RoZXJTdG9yZSA9IGV2YWxBbmRMb2coIm90aGVyU3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnb3RoZXJTdG9yZU5hbWUnKSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1v
dmVvYmplY3RzdG9yZS1leHBlY3RlZC50eHQKaW5kZXggNzdlZDAxZmNmODQwNDY2ODM1NjBhODU3
MWNiM2I2NTJjNTdhYjU1YS4uNDA3ZDM2ZjM4YWEwZjY5N2M3Yjk5NWM4NTAyNWFmZmFiNDE5ZjIx
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
cmVtb3Zlb2JqZWN0c3RvcmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0b3JlLWV4cGVjdGVkLnR4dApAQCAt
MTMsNyArMTMsNyBAQCBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBu
dWxsKQogc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4TmFtZScsICcnKQogUEFTUyBzdG9yZS5pbmRl
eE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUnKSBpcyB0cnVlCiBzdG9yZS5hZGQoJ3ZhbHVlJywg
J2tleScpCi1kYi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURX0pCitkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKQogc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIHN0b3JlLmdldCgna2V5JykKIFBBU1MgZXZlbnQu
dGFyZ2V0LnJlc3VsdCBpcyAidmFsdWUiCkBAIC0yMiw3ICsyMiw3IEBAIHRyYW5zID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdAogUEFTUyB0cmFucyAhPT0gbnVsbCBpcyB0cnVlCiBkYi5kZWxldGVPYmpl
Y3RTdG9yZSgnc3RvcmVOYW1lJykKIGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBu
dWxsKQotZGIudHJhbnNhY3Rpb24oe21vZGU6IHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEV9KQorZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSkKIHN0b3JlID0gdHJhbnNhY3Rpb24u
b2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5nZXQoJ2tleScpCiBQQVNTIGV2ZW50LnRh
cmdldC5yZXN1bHQgaXMgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtcmVtb3Zlb2JqZWN0c3RvcmUuaHRtbApp
bmRleCBmNDRiMjdlYzQxNTFiZjhiNWNmYTEzZmY1Mjg0MzIyYjI1ODczMmMwLi41MWZkZWNiNzJm
ZDU0YWVjNWZjMGZjN2QxOGY1NDE5MjFhYWY5ZTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1yZW1vdmVvYmplY3RzdG9yZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLXJlbW92ZW9iamVjdHN0
b3JlLmh0bWwKQEAgLTQ5LDcgKzQ5LDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogCiBm
dW5jdGlvbiBnZXRWYWx1ZSgpCiB7Ci0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50
cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pIik7Cisg
ICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSdd
KSIpOwogICAgIHRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
ICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCdzdG9yZU5hbWUnKSIpOwogCkBAIC04NSw3ICs4NSw3IEBAIGZ1bmN0aW9uIGNyZWF0ZU9i
amVjdFN0b3JlQWdhaW4oKQogCiBmdW5jdGlvbiBnZXRWYWx1ZUFnYWluKCkKIHsKLSAgICB0cmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKHttb2RlOiB3ZWJraXRJREJUcmFu
c2FjdGlvbi5SRUFEX1dSSVRFfSkiKTsKKyAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coImRi
LnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10pIik7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9
IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2coInN0
b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1l
dmVudC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggZjcxZjc4MWQ3MTg0ZTNjODlkZDJh
Mjg5YjZkNjA5YjQ2MTYwODdiMi4uZjhjNmRmN2VmMzMxY2MwYWYyMTM0NWM0ZjBiMTUxOTMwNWI3
NTYwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVxdWVzdC1l
dmVudC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi1leHBlY3RlZC50eHQKQEAgLTE0LDcg
KzE0LDcgQEAgRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIHN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCiBzdG9yZS5hZGQoe3g6ICd2YWx1ZScsIHk6ICd6
enonfSwgJ2tleScpCiBWZXJpZnkgdGhhdCBoYW5kbGVyIGZpcmVzIGFuZCB0aGF0IG5vdCBwcmV2
ZW50aW5nIGRlZmF1bHQgd2lsbCByZXN1bHQgaW4gYW4gYWJvcnQKLXRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
CiB0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkCiB0cmFucy5vbmNvbXBsZXRlID0g
dW5leHBlY3RlZENvbXBsZXRlQ2FsbGJhY2sKIHRyYW5zLm9uZXJyb3IgPSBhbGxvd0RlZmF1bHQK
QEAgLTI1LDcgKzI1LDcgQEAgRG9pbmcgbm90aGluZyB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGFj
dGlvbi4uLgogUEFTUyBoYW5kbGVyRmlyZWQgaXMgdHJ1ZQogCiBWZXJpZmluZyBlcnJvcgotdHJh
bnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkK
K3RyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSB0cmFuc2FjdGlvbkFib3J0ZWQyCiB0cmFu
cy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2sKIHRyYW5zLmFkZEV2ZW50TGlz
dGVuZXIoJ2Vycm9yJywgZXJyb3JDYXB0dXJlQ2FsbGJhY2ssIHRydWUpCkBAIC05Miw3ICs5Miw3
IEBAIFBBU1MgYnViYmxlRmlyZWQgaXMgdHJ1ZQogUEFTUyBkYkJ1YmJsZUZpcmVkIGlzIHRydWUK
IAogVmVyaWZpbmcgc3VjY2Vzcy4KLXRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVO
YW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCiB0cmFucy5vbmNvbXBsZXRl
ID0gdHJhbnNhY3Rpb25Db21wbGV0ZQogdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENh
bGxiYWNrCiB0cmFucy5hZGRFdmVudExpc3RlbmVyKCdzdWNjZXNzJywgc3VjY2Vzc0NhcHR1cmVD
YWxsYmFjaywgdHJ1ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3JlcXVlc3QtZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCAzYjFkYTNiZTkzNWQ1
Nzk2NWFjMGJlYzI2Zjk4YzVlNWFiNjZiYWRlLi5kN2ZiZWUyZjJiNTY5MWZkNjU3ODA2NjZiNTFj
MjI1NDFlNGIzNDNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9y
ZXF1ZXN0LWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvcmVxdWVzdC1ldmVudC1wcm9wYWdhdGlvbi5odG1sCkBAIC00OCw3ICs0OCw3IEBA
IGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpCiB7CiAgICAg
ZGVidWcoIlZlcmlmeSB0aGF0IGhhbmRsZXIgZmlyZXMgYW5kIHRoYXQgbm90IHByZXZlbnRpbmcg
ZGVmYXVsdCB3aWxsIHJlc3VsdCBpbiBhbiBhYm9ydCIpOwotICAgIHRyYW5zID0gZXZhbEFuZExv
ZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24o
WydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBl
dmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0gdHJhbnNhY3Rpb25BYm9ydGVkIik7CiAgICAgZXZh
bEFuZExvZygidHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNrIik7
CiAgICAgZXZhbEFuZExvZygidHJhbnMub25lcnJvciA9IGFsbG93RGVmYXVsdCIpOwpAQCAtNzAs
NyArNzAsNyBAQCBmdW5jdGlvbiB0cmFuc2FjdGlvbkFib3J0ZWQoKQogICAgIHNob3VsZEJlVHJ1
ZSgiaGFuZGxlckZpcmVkIik7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJWZXJpZmluZyBl
cnJvciIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihb
XSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJh
bnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5vbmFib3J0ID0g
dHJhbnNhY3Rpb25BYm9ydGVkMiIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUg
PSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjayIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLmFkZEV2
ZW50TGlzdGVuZXIoJ2Vycm9yJywgZXJyb3JDYXB0dXJlQ2FsbGJhY2ssIHRydWUpIik7CkBAIC0x
NzMsNyArMTczLDcgQEAgZnVuY3Rpb24gdHJhbnNhY3Rpb25BYm9ydGVkMigpCiAgICAgc2hvdWxk
QmVUcnVlKCJkYkJ1YmJsZUZpcmVkIik7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJWZXJp
ZmluZyBzdWNjZXNzLiIpOwotICAgIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFu
c2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICB0cmFu
cyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAgICBldmFsQW5kTG9nKCJ0cmFucy5v
bmNvbXBsZXRlID0gdHJhbnNhY3Rpb25Db21wbGV0ZSIpOwogICAgIGV2YWxBbmRMb2coInRyYW5z
Lm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjayIpOwogICAgIGV2YWxBbmRMb2coInRy
YW5zLmFkZEV2ZW50TGlzdGVuZXIoJ3N1Y2Nlc3MnLCBzdWNjZXNzQ2FwdHVyZUNhbGxiYWNrLCB0
cnVlKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
dHJhbnNhY3Rpb24tYWJvcnQtZXhwZWN0ZWQudHh0CmluZGV4IGMzYmNiNzA2OWE3MDNmMDNjNzkw
ZDFlZTkxYjQ3YTE4ZTc2YmQ5NzIuLmIyMDg5ZTA5MzkyMTI3YjBhNDM4NWI4NzMwNDViZGE1YjFi
ZDQyNDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0
aW9uLWFib3J0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1hYm9ydC1leHBlY3RlZC50eHQKQEAgLTEzLDcgKzEzLDcgQEAgdHJhbnMu
b25jb21wbGV0ZSA9IHN0YXJ0VGVzdAogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIHN0b3Jl
ID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCiBzdG9yZS5hZGQoe3g6
ICd2YWx1ZScsIHk6ICd6enonfSwgJ2tleScpCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3
ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihb
J3N0b3JlTmFtZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25h
Ym9ydCA9IHRyYW5zYWN0aW9uQWJvcnRlZAogdHJhbnMub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRD
b21wbGV0ZUNhbGxiYWNrCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZU5hbWUnKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJv
cnQtd2l0aC1qcy1yZWN1cnNpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24tZXhwZWN0ZWQudHh0
CmluZGV4IDlhMjE2ZTk0YWEzZDAyMTIzMTRmNTZiNDk0NTNhZTM4MzllYTVlMDkuLjdhMWZmYWY3
MzM0YjJkNTExYTA3YTg2NDA3MmFkNWQ3MGU3MTM1ZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9uLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbi1leHBlY3RlZC50eHQKQEAgLTgsOSArOCw5IEBAIFBB
U1Mgd2Via2l0SW5kZXhlZERCID09IG51bGwgaXMgZmFsc2UKIHdlYmtpdEluZGV4ZWREQi5vcGVu
KCd0cmFuc2FjdGlvbi1hYm9ydC13aXRoLWpzLXJlY3Vyc2lvbicpCiBkYiA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQKIGRiLnNldFZlcnNpb24oJ25ldyB2ZXJzaW9uJykKLXBlbmRpbmdUcmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
cGVuZGluZ1RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSddLCB3ZWJr
aXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogU3RhcnQgcmUtZW50cmFudCBKUwotdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklU
RSkKK3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydvYmplY3RTdG9yZSddLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogRW5kIHJlLWVudHJhbnQgSlMKIHN0b3JlID0gcGVu
ZGluZ1RyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdvYmplY3RTdG9yZScpCiBQQVNTIHN0b3JlICE9
PSB1bmRlZmluZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNpb24uaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0LXdpdGgtanMtcmVjdXJzaW9u
Lmh0bWwKaW5kZXggZDBjZGUwM2NjMmY1ZDg3YTc5MzhlN2RiYTJkYTBkNTZjZTVjNDBlNy4uY2Vk
NmVjM2VkMDNmMzA3MTk1YTYyMGVjOGE5MjczOWE2MGExZDA2YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQtd2l0aC1qcy1yZWN1cnNp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1h
Ym9ydC13aXRoLWpzLXJlY3Vyc2lvbi5odG1sCkBAIC0zNiw4ICszNiw5IEBAIGZ1bmN0aW9uIHNl
dFZlcnNpb24oKSB7CiB9DQogDQogZnVuY3Rpb24gY2xpY2soKSB7DQorICAgIHN0b3JlID0gZGIu
Y3JlYXRlT2JqZWN0U3RvcmUoJ29iamVjdFN0b3JlJywgbnVsbCk7DQogICAgIGJvZHkub25jbGlj
ayA9IHRlc3Q7DQotICAgIHZhciBwZW5kaW5nVHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJwZW5k
aW5nVHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24u
UkVBRF9XUklURSkiKTsNCisgICAgdmFyIHBlbmRpbmdUcmFuc2FjdGlvbiA9IGV2YWxBbmRMb2co
InBlbmRpbmdUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFsnb2JqZWN0U3RvcmUnXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsNCiAgICAgcGVuZGluZ1RyYW5zYWN0aW9u
Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOw0KICAgICBwZW5kaW5nVHJhbnNh
Y3Rpb24ub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOw0KICAgICBwZW5kaW5nVHJh
bnNhY3Rpb24ub25hYm9ydCA9IGFib3J0Q2FsbGJhY2s7DQpAQCAtNTIsOCArNTMsNyBAQCBmdW5j
dGlvbiBjbGljaygpIHsKIGZ1bmN0aW9uIHRlc3QoKQ0KIHsNCiAgICAgZGVidWcoIlN0YXJ0IHJl
LWVudHJhbnQgSlMiKTsNCi0gICAgc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnb2JqZWN0
U3RvcmUnLCBudWxsKTsNCi0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJ0cmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
Ow0KKyAgICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oWydvYmplY3RTdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
Ow0KICAgICBkZWJ1ZygiRW5kIHJlLWVudHJhbnQgSlMiKTsNCiB9DQogDQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFib3J0Lmh0bWwKaW5kZXgg
NmJkMGMwMGQzODRmNWQ0OWE0YzUzYjlmNWYwYzZlZWRmYmZiMmQ1NC4uMWQyODAyNzBiODc2NTdi
MmM4YTVjN2Q4YzliYmU4Yjc0OGQ4NzY3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWJvcnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hYm9ydC5odG1sCkBAIC00Nyw3ICs0Nyw3IEBAIGZ1
bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIAogZnVuY3Rpb24gc3RhcnRUZXN0KCkKIHsKLSAgICB0
cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRy
YW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9
IGRiLnRyYW5zYWN0aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURf
V1JJVEUpIik7CiAgICAgZXZhbEFuZExvZygidHJhbnMub25hYm9ydCA9IHRyYW5zYWN0aW9uQWJv
cnRlZCIpOwogICAgIGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29t
cGxldGVDYWxsYmFjayIpOwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5v
YmplY3RTdG9yZSgnc3RvcmVOYW1lJykiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLWV4cGVjdGVk
LnR4dAppbmRleCA2YmU1Nzk1NmFiODc5N2QyYzU1NWQ1NWE5ZWNjYTQ0MDkwN2NjMzBkLi4yMzhl
MTU5MWZkOTc5ZWZmZTNmNmRhZGE0NWRmZTRhZWFkZTQyOWM3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXIt
Y2xvc2UtZXhwZWN0ZWQudHh0CkBAIC0xNCwxNyArMTQsMTcgQEAgc3RvcmUgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmUnKQogcmVxdWVzdCA9IHN0b3JlLnB1dCgneCcsICd5JykKIFBBU1Mg
UHV0IHN1Y2Nlc3MKIHJ1bm5pbmcgZmlyc3QgdHJhbnNhY3Rpb24KLWN1cnJlbnRUcmFuc2FjdGlv
biA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
Y3VycmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogb2JqZWN0U3RvcmUucHV0KCdhJywgJ2InKQogZGIuY2xv
c2UoKQotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRy
YW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKIFBB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VF
eGNlcHRpb24uTk9UX0FMTE9XRURfRVJSCiAKIHZlcmlmeSB0aGF0IHdlIGNhbiByZW9wZW4gdGhl
IGRiIGFmdGVyIGNhbGxpbmcgY2xvc2UKIHdlYmtpdEluZGV4ZWREQi5vcGVuKCd0cmFuc2FjdGlv
bi1hZnRlci1jbG9zZScpCiBzZWNvbmRfZGIgPSBldmVudC50YXJnZXQucmVzdWx0Ci1jdXJyZW50
VHJhbnNhY3Rpb24gPSBzZWNvbmRfZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0
aW9uLlJFQURfV1JJVEUpCitjdXJyZW50VHJhbnNhY3Rpb24gPSBzZWNvbmRfZGIudHJhbnNhY3Rp
b24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogcmVxdWVzdCA9
IHN0b3JlLnB1dCgnMScsICcyJykKIFBBU1MgZmluYWwgcHV0IHN1Y2Nlc3MKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hZnRlci1jbG9zZS5odG1sCmluZGV4IDEzYWVlNjA4ZGI1
ODFlOTI0ZGY4YmYxN2ZjMWY4YzFhNzk5MzVjNjEuLjIwMzU5YjExNjJiN2ZjYWY5MTA2NTA3MGU2
M2ZlNjJkOTJlYjJiMzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWFmdGVyLWNsb3NlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tYWZ0ZXItY2xvc2UuaHRtbApAQCAtNTMsNyArNTMsNyBAQCBm
dW5jdGlvbiBvblB1dFN1Y2Nlc3MoKQogZnVuY3Rpb24gcnVuRmlyc3RSZWd1bGFyVHJhbnNhY3Rp
b24oKQ0KIHsNCiAgICAgZGVidWcoInJ1bm5pbmcgZmlyc3QgdHJhbnNhY3Rpb24iKQ0KLSAgICBj
dXJyZW50VHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJjdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50
cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsNCisgICAg
Y3VycmVudFRyYW5zYWN0aW9uID0gZXZhbEFuZExvZygiY3VycmVudFRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oWydzdG9yZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIp
Ow0KICAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxi
YWNrOw0KICAgICBjdXJyZW50VHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IGZpcnN0VHJhbnNhY3Rp
b25Db21wbGV0ZTsNCiAgICAgb2JqZWN0U3RvcmUgPSBjdXJyZW50VHJhbnNhY3Rpb24ub2JqZWN0
U3RvcmUoJ3N0b3JlJyk7DQpAQCAtNjQsNyArNjQsNyBAQCBmdW5jdGlvbiBydW5GaXJzdFJlZ3Vs
YXJUcmFuc2FjdGlvbigpCiBmdW5jdGlvbiBmaXJzdFRyYW5zYWN0aW9uQ29tcGxldGUoKQ0KIHsN
CiAgICAgZXZhbEFuZExvZygiZGIuY2xvc2UoKSIpOw0KLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSki
LCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0FMTE9XRURfRVJSIik7DQorICAgIGV2
YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKFsnc3RvcmUnXSwgd2Via2l0SURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9U
X0FMTE9XRURfRVJSIik7DQogDQogICAgIGRlYnVnKCIiKQ0KICAgICBkZWJ1ZygidmVyaWZ5IHRo
YXQgd2UgY2FuIHJlb3BlbiB0aGUgZGIgYWZ0ZXIgY2FsbGluZyBjbG9zZSIpDQpAQCAtNzUsNyAr
NzUsNyBAQCBmdW5jdGlvbiBmaXJzdFRyYW5zYWN0aW9uQ29tcGxldGUoKQogDQogZnVuY3Rpb24g
b25TZWNvbmRPcGVuKCkgew0KICAgICBzZWNvbmRfZGIgPSBldmFsQW5kTG9nKCJzZWNvbmRfZGIg
PSBldmVudC50YXJnZXQucmVzdWx0Iik7DQotICAgIGN1cnJlbnRUcmFuc2FjdGlvbiA9IGV2YWxB
bmRMb2coImN1cnJlbnRUcmFuc2FjdGlvbiA9IHNlY29uZF9kYi50cmFuc2FjdGlvbihbXSwgd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsNCisgICAgY3VycmVudFRyYW5zYWN0aW9u
ID0gZXZhbEFuZExvZygiY3VycmVudFRyYW5zYWN0aW9uID0gc2Vjb25kX2RiLnRyYW5zYWN0aW9u
KFsnc3RvcmUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsNCiAgICAgc3Rv
cmUgPSBjdXJyZW50VHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlJyk7DQogICAgIHJlcXVl
c3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gc3RvcmUucHV0KCcxJywgJzInKSIpOw0KICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IG9uRmluYWxQdXRTdWNjZXNzOw0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxs
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlv
bi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMtZXhwZWN0ZWQudHh0CmluZGV4IDMxM2MxYTEyNWFiYTE1
ZDg3MjEwODcwYzg0M2Y1ZDAwNDNlNzA5MmQuLmU5MjExZGFlMjIxNDE0MWM0OGQ0ZDRiMDI5MTk5
ZTZmOGI0MDdlZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLWFuZC1vYmplY3RzdG9yZS1jYWxscy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxz
LWV4cGVjdGVkLnR4dApAQCAtNTUsMTQgKzU1LDE3IEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJv
bSB0cmFucy5vYmplY3RTdG9yZSgneCcpCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKIAotdHJh
bnMgPSBkYi50cmFuc2FjdGlvbihbXSkKK1Bhc3NpbmcgYSBzdHJpbmcgYXMgdGhlIGZpcnN0IGFy
Z3VtZW50IGlzIGEgc2hvcnRjdXQgZm9yIGp1c3Qgb25lIG9iamVjdCBzdG9yZToKK3RyYW5zID0g
ZGIudHJhbnNhY3Rpb24oJ2EnKQogdHJhbnMub2JqZWN0U3RvcmUoJ2EnKQotdHJhbnMub2JqZWN0
U3RvcmUoJ2InKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHRyYW5zLm9iamVjdFN0b3JlKCdi
JykKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0
YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHRy
YW5zLm9iamVjdFN0b3JlKCd4JykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNv
ZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUgogCi1QQVNTIHRy
YW5zID0gZGIudHJhbnNhY3Rpb24oKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cy4KK1BBU1MgdHJhbnMgPSBkYi50cmFuc2FjdGlvbigpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCiAKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBk
Yi50cmFuc2FjdGlvbihbJ3gnXSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCkBAIC04MCw2
ICs4MywzMCBAQCBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oWydhJywg
J3gnLCAnYiddKQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJr
aXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCiAKK0V4Y2VwdGlvbiB0aHJvd24g
d2hlbiBubyBzdG9yZXMgc3BlY2lmaWVkOgorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRy
YW5zYWN0aW9uKFtdKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBE
T01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSCisKK3t9IGNvZXJjZXMgdG8gYSBzdHJpbmcg
LSBzbyBubyBtYXRjaCwgYnV0IG5vdCBhIHR5cGUgZXJyb3I6CitFeHBlY3RpbmcgZXhjZXB0aW9u
IGZyb20gZGIudHJhbnNhY3Rpb24oe30pCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFT
UyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIKK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBkYi50cmFuc2FjdGlvbih7bW9kZTowfSkKK1BBU1MgRXhjZXB0
aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
Tk9UX0ZPVU5EX0VSUgorCitPdmVycmlkaW5nIHRoZSBkZWZhdWx0IHN0cmluZyBjb2VyY2lvbiBt
YWtlcyB0aGVzZSB3b3JrOgorZGIudHJhbnNhY3Rpb24oe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0
dXJuICdhJzt9fSkKK2RiLnRyYW5zYWN0aW9uKFt7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4g
J2EnO319XSkKKy4uLiBidXQgeW91IHN0aWxsIG5lZWQgdG8gc3BlY2lmeSBhIHJlYWwgc3RvcmU6
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oW3t0b1N0cmluZzpmdW5j
dGlvbigpe3JldHVybiAneCc7fX1dKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1Mg
Y29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gZGIudHJhbnNhY3Rpb24oW3t0b1N0cmluZzpmdW5jdGlvbigpe3Jl
dHVybiAneCc7fX1dKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyB3
ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSCisKIFBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYW5kLW9iamVjdHN0b3JlLWNhbGxzLmh0
bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0
c3RvcmUtY2FsbHMuaHRtbAppbmRleCAwOTM1ZWY5NzE0OThiNTNlMzY2Y2ZiMzFjNGQxM2I1ODlk
Y2YwNmUwLi5mYmJhMWRiMTAxNTA5YTgyN2E5OThiYzJiZDQzNzViYzVjZjk4ZTg0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1hbmQtb2JqZWN0
c3RvcmUtY2FsbHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFu
c2FjdGlvbi1hbmQtb2JqZWN0c3RvcmUtY2FsbHMuaHRtbApAQCAtNzUsOSArNzUsMTAgQEAgZnVu
Y3Rpb24gY3JlYXRlZCgpCiAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigidHJhbnMub2JqZWN0
U3RvcmUoJ3gnKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7
CiAgICAgZGVidWcoIiIpOwogCi0gICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKFtdKSIpOworICAgIGRlYnVnKCJQYXNzaW5nIGEgc3RyaW5nIGFzIHRoZSBmaXJz
dCBhcmd1bWVudCBpcyBhIHNob3J0Y3V0IGZvciBqdXN0IG9uZSBvYmplY3Qgc3RvcmU6Iik7Cisg
ICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdhJykiKTsKICAg
ICBldmFsQW5kTG9nKCJ0cmFucy5vYmplY3RTdG9yZSgnYScpIik7Ci0gICAgZXZhbEFuZExvZygi
dHJhbnMub2JqZWN0U3RvcmUoJ2InKSIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInRy
YW5zLm9iamVjdFN0b3JlKCdiJykiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZP
VU5EX0VSUiIpOwogICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInRyYW5zLm9iamVjdFN0b3Jl
KCd4JykiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOwogICAg
IGRlYnVnKCIiKTsKIApAQCAtOTEsNiArOTIsMjMgQEAgZnVuY3Rpb24gY3JlYXRlZCgpCiAgICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oWydhJywgJ3gnLCAnYiddKSIs
ICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIik7CiAgICAgZGVidWco
IiIpOwogCisgICAgZGVidWcoIkV4Y2VwdGlvbiB0aHJvd24gd2hlbiBubyBzdG9yZXMgc3BlY2lm
aWVkOiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKFtdKSIs
ICJET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSIik7CisgICAgZGVidWcoIiIpOworCisg
ICAgZGVidWcoInt9IGNvZXJjZXMgdG8gYSBzdHJpbmcgLSBzbyBubyBtYXRjaCwgYnV0IG5vdCBh
IHR5cGUgZXJyb3I6Iik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rp
b24oe30pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLk5PVF9GT1VORF9FUlIiKTsKKyAg
ICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbih7bW9kZTowfSkiLCAid2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOworICAgIGRlYnVnKCIiKTsK
KworICAgIGRlYnVnKCJPdmVycmlkaW5nIHRoZSBkZWZhdWx0IHN0cmluZyBjb2VyY2lvbiBtYWtl
cyB0aGVzZSB3b3JrOiIpOworICAgIGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKHt0b1N0cmlu
ZzpmdW5jdGlvbigpe3JldHVybiAnYSc7fX0pIik7CisgICAgZXZhbEFuZExvZygiZGIudHJhbnNh
Y3Rpb24oW3t0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAnYSc7fX1dKSIpOworICAgIGRlYnVn
KCIuLi4gYnV0IHlvdSBzdGlsbCBuZWVkIHRvIHNwZWNpZnkgYSByZWFsIHN0b3JlOiIpOworICAg
IGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKFt7dG9TdHJpbmc6ZnVuY3Rp
b24oKXtyZXR1cm4gJ3gnO319XSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uTk9UX0ZP
VU5EX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKFt7
dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gJ3gnO319XSkiLCAid2Via2l0SURCRGF0YWJhc2VF
eGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIpOworCisgICAgZGVidWcoIiIpOwogICAgIGRvbmUoKTsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Ry
YW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggNTI3YzU1M2E4YmQ0Y2I4ZDhhYTU5
MTkyM2VlNmIyMGM5MjdiNmFiYS4uMzE3MWE4NmE5MjI5OTlhNjQxZjVlNjgyNGVkZGExYTZjZTIx
ZmMyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rp
b24tYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC02Myw3ICs2Myw3IEBAIHRyYW5z
ID0gZXZlbnQudGFyZ2V0LnJlc3VsdAogUEFTUyB0cmFucyAhPT0gbnVsbCBpcyB0cnVlCiBEZWxl
dGVkIGFsbCBvYmplY3Qgc3RvcmVzLgogZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScs
IG51bGwpCi1kYi50cmFuc2FjdGlvbih7bW9kZTogd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURX0pCitkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFtZSddKQogc3RvcmUgPSB0cmFuc2FjdGlv
bi5vYmplY3RTdG9yZSgnc3RvcmVOYW1lJykKIFBBU1Mgc3RvcmUubmFtZSBpcyAic3RvcmVOYW1l
IgogUEFTUyBjb21wbGV0ZSBldmVudCBmaXJlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbAppbmRleCAwZTQ5ZGExMDMzYzRl
M2QxOTcxOTRmYTBhOTRjOTVkNTA3NzljZmM3Li5mM2IzZWZhZTgyMzNmNDJkNDU2NzViZDZlNDMx
Y2VhZTAzNDY0YmQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1iYXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi90cmFuc2FjdGlvbi1iYXNpY3MuaHRtbApAQCAtMjA2LDcgKzIwNiw3IEBAIGZ1bmN0aW9uIHNl
dFZlcnNpb25TdWNjZXNzKCkKICAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOw0KIA0KICAg
ICBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVOYW1lJywgbnVsbCkiKTsN
Ci0gICAgdHJhbnNhY3Rpb24gPSBldmFsQW5kTG9nKCJkYi50cmFuc2FjdGlvbih7bW9kZTogd2Vi
a2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURX0pIik7DQorICAgIHRyYW5zYWN0aW9uID0gZXZh
bEFuZExvZygiZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSkiKTsNCiAgICAgdHJhbnNhY3Rp
b24ub25hYm9ydCA9IGFib3J0Q2FsbGJhY2s7DQogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2co
InN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpIik7DQogICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygic3RvcmUubmFtZSIsICJzdG9yZU5hbWUiKTsNCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1h
Ym9ydC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2Fj
dGlvbi1jcmFzaC1vbi1hYm9ydC1leHBlY3RlZC50eHQKaW5kZXggZjYwZWFhMmUzYWI3YThiNjNh
MjJiODQzNTc2MGUwZDhkMWNiYmFkNC4uNmQzMzgyMGE3MTIzZDgzMTg2ZGJkZTU4N2ZmNjg0Yjc3
YTVhOGI0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNh
Y3Rpb24tY3Jhc2gtb24tYWJvcnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0LWV4cGVjdGVkLnR4dApAQCAt
OCw2ICs4LDggQEAgUEFTUyB3ZWJraXRJbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQogd2Via2l0
SW5kZXhlZERCLm9wZW4oJ3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0JykKIG9wZW5TdWNjZXNz
KCk6CiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK2RiLnNldFZlcnNpb24oJzEuMCcpCitkYi5j
cmVhdGVPYmplY3RTdG9yZSgnZm9vJykKIGRiLnRyYW5zYWN0aW9uKCdmb28nKQogd2luZG93Lmdj
KCkKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1jcmFzaC1vbi1hYm9ydC5o
dG1sCmluZGV4IDc1ZDEyMmIxYzFjMmVhZjJhOWYzMDY2OTc2YjgzMjhmMGZlNGM1YzkuLjZmOWNh
MTViYmZmY2ViNGViMGI2MDgwMjc2YmEyN2ZiNjRhY2FkNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWNyYXNoLW9uLWFib3J0Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tY3Jhc2gtb24tYWJv
cnQuaHRtbApAQCAtMjgsNiArMjgsMTQgQEAgZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQogewogICAg
IGRlYnVnKCJvcGVuU3VjY2VzcygpOiIpOwogICAgIGRiID0gZXZhbEFuZExvZygiZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNp
b24oJzEuMCcpIik7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9uU3VjY2VzczsK
KyAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVu
Y3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQoreworICAgIGV2YWxBbmRMb2coImRiLmNyZWF0ZU9i
amVjdFN0b3JlKCdmb28nKSIpOwogICAgIGV2YWxBbmRMb2coImRiLnRyYW5zYWN0aW9uKCdmb28n
KSIpOwogICAgIGV2YWxBbmRMb2coIndpbmRvdy5nYygpIik7CiAgICAgZG9uZSgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJv
cGFnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHJh
bnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDVmODVjODFkMGE2
MDcyMWJkNjdhMzJlMmIyZDMzN2JlYTc3NmRkY2MuLmQ0MjA2MWEwZGM2ZTdhYzVkNzQ0OWZlNDBk
ZDVlMjk3YWRiNjU0NDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi1leHBl
Y3RlZC50eHQKQEAgLTEzLDcgKzEzLDcgQEAgRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIHN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScsIG51bGwpCiBzdG9yZS5hZGQo
e3g6ICd2YWx1ZScsIHk6ICd6enonfSwgJ2tleScpCiBWZXJpZmluZyBhYm9ydAotdHJhbnMgPSBk
Yi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3RyYW5z
ID0gZGIudHJhbnNhY3Rpb24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkKIHRyYW5zLm9uYWJvcnQgPSBhYm9ydEZpcmVkQ2FsbGJhY2sKIHRyYW5zLm9uY29t
cGxldGUgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjawogZGIuYWRkRXZlbnRMaXN0ZW5lcignYWJv
cnQnLCBkYkFib3J0Q2FwdHVyZUNhbGxiYWNrLCB0cnVlKQpAQCAtNDUsNyArNDUsNyBAQCBQQVNT
IGV2ZW50LnRhcmdldCBpcyB0cmFucwogUEFTUyBldmVudC5jdXJyZW50VGFyZ2V0IGlzIGRiCiAK
IFZlcmlmaW5nIHN1Y2Nlc3MuCi10cmFucyA9IGRiLnRyYW5zYWN0aW9uKFtdLCB3ZWJraXRJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKQordHJhbnMgPSBkYi50cmFuc2FjdGlvbihbJ3N0b3JlTmFt
ZSddLCB3ZWJraXRJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQogdHJhbnMub25jb21wbGV0ZSA9
IGNvbXBsZXRlRmlyZWRDYWxsYmFjawogdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENh
bGxiYWNrCiBkYi5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIGRiQWJvcnRDYXB0dXJlQ2Fs
bGJhY2ssIHRydWUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90
cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvdHJhbnNhY3Rpb24tZXZlbnQtcHJvcGFnYXRpb24uaHRtbAppbmRleCAxNWMyNzVj
NTA5YTI2ZjFhMDE1NTk1M2UyMmE1YmQwOGE2ZGIzNzIwLi45NDFhYzUyZTNmZDMyN2RiZjQ2NTI1
NDgyMDRhOWU5OTc4MTYzZDZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi90cmFuc2FjdGlvbi1ldmVudC1wcm9wYWdhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWV2ZW50LXByb3BhZ2F0aW9uLmh0bWwKQEAg
LTQ3LDcgKzQ3LDcgQEAgZnVuY3Rpb24gZGVsZXRlRXhpc3RpbmcoKQogZnVuY3Rpb24gc3RhcnRU
ZXN0KCkKIHsKICAgICBkZWJ1ZygiVmVyaWZpbmcgYWJvcnQiKTsKLSAgICB0cmFucyA9IGV2YWxB
bmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oW10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJF
QURfV1JJVEUpIik7CisgICAgdHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0
aW9uKFsnc3RvcmVOYW1lJ10sIHdlYmtpdElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CiAg
ICAgZXZhbEFuZExvZygidHJhbnMub25hYm9ydCA9IGFib3J0RmlyZWRDYWxsYmFjayIpOwogICAg
IGV2YWxBbmRMb2coInRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjayIp
OwogICAgIGV2YWxBbmRMb2coImRiLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgZGJBYm9ydENh
cHR1cmVDYWxsYmFjaywgdHJ1ZSkiKTsKQEAgLTk3LDcgKzk3LDcgQEAgZnVuY3Rpb24gZGJBYm9y
dEJ1YmJsZUNhbGxiYWNrKCkKICAgICBkYkJ1YmJsZUZpcmVkMSA9IHRydWU7CiAgICAgZGVidWco
IiIpOwogICAgIGRlYnVnKCJWZXJpZmluZyBzdWNjZXNzLiIpOwotICAgIHRyYW5zID0gZXZhbEFu
ZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbihbXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkiKTsKKyAgICB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oWydzdG9yZU5hbWUnXSwgd2Via2l0SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKICAg
ICBldmFsQW5kTG9nKCJ0cmFucy5vbmNvbXBsZXRlID0gY29tcGxldGVGaXJlZENhbGxiYWNrIik7
CiAgICAgZXZhbEFuZExvZygidHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNr
Iik7CiAgICAgZXZhbEFuZExvZygiZGIucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBkYkFi
b3J0Q2FwdHVyZUNhbGxiYWNrLCB0cnVlKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tc3RvcmVOYW1lcy1yZXF1aXJlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9yZU5hbWVz
LXJlcXVpcmVkLWV4cGVjdGVkLnR4dAppbmRleCBhNWZlNWViMDNlMGFmMTExODMxNmVmMzhkOTdh
OTdhMWM0MDIyNjFjLi44NzI3Nzk0MGY1M2EwYWRhMjJhMDRhYWZlZTM1YjEwZGMzZTc4YWQ5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9y
ZU5hbWVzLXJlcXVpcmVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90cmFuc2FjdGlvbi1zdG9yZU5hbWVzLXJlcXVpcmVkLWV4cGVjdGVkLnR4dApAQCAt
MTUsNyArMTUsNyBAQCBpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikKIGRiID0gZXZl
bnQudGFyZ2V0LnJlc3VsdAogcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQogRGVsZXRlZCBh
bGwgb2JqZWN0IHN0b3Jlcy4KLVBBU1MgZGIudHJhbnNhY3Rpb24oKTsgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGRiLnRyYW5zYWN0aW9uKCk7
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi90dXRvcmlhbC5odG1sCmluZGV4IDhiMjg5ODcyYzhiMTU0ZWZhOTNkN2YyMDMyNjUz
ZGJlZjhjNTNkYTcuLjNjMDQ4NTJmZjFiNTkyMDBhN2RlNmMzN2QxOWExYTJhODdiZWEzOGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3R1dG9yaWFsLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvdHV0b3JpYWwuaHRtbApAQCAtMjExLDE1
ICsyMTEsMTQgQEAgZnVuY3Rpb24gb25TZXRWZXJzaW9uQ29tcGxldGUoKQogICAgIC8vIGNyZWF0
ZU9iamVjdFN0b3JlLCB0cmFuc2FjdGlvbiBvcHRpb25hbGx5IHRha2VzIGluIHZhcmlvdXMgb3B0
aW9uYWwgcGFyYW1ldGVycy4KICAgICAvLwogICAgIC8vIEZpcnN0IG9mIGFsbCBpcyB0aGUgcGFy
YW1ldGVyICJvYmplY3RTdG9yZU5hbWVzIi4gSWYgeW91IHBhc3MgaW4gYSBzdHJpbmcsIHdlIGxv
Y2sganVzdCB0aGF0Ci0gICAgLy8gb2JqZWN0U3RvcmUuICBJZiB5b3UgcGFzcyBpbiBhbiBhcnJh
eSwgd2UgbG9jayB0aG9zZS4gT3RoZXJ3aXNlIChmb3IgZXhhbXBsZSwgaWYgeW91IG9taXQgaXQK
LSAgICAvLyBvciBwYXNzIGluIG51bGwvdW5kZWZpbmVkKSB3ZSBsb2NrIHRoZSB3aG9sZSBkYXRh
YmFzZS4gQnkgc3BlY2lmeWluZyBsb2NrcyBvdmVyIGZld2VyCisgICAgLy8gb2JqZWN0U3RvcmUu
ICBJZiB5b3UgcGFzcyBpbiBhbiBhcnJheSwgd2UgbG9jayB0aG9zZS4gQnkgc3BlY2lmeWluZyBs
b2NrcyBvdmVyIGZld2VyCiAgICAgLy8gb2JqZWN0U3RvcmVzIHlvdSBtYWtlIGl0IHBvc3NpYmxl
IGZvciBicm93c2VycyB0byBydW4gdHJhbnNhY3Rpb25zIGNvbmN1cnJlbnRseS4gVGhhdCBzYWlk
LAogICAgIC8vIENocm9taXVtL1dlYktpdCBkb2VzIG5vdCBzdXBwb3J0IHRoaXMgeWV0LgogICAg
IC8vCiAgICAgLy8gTmV4dCBpcyAibW9kZSIgd2hpY2ggc3BlY2lmaWVzIHRoZSBsb2NraW5nIG1v
ZGUuIFRoZSBkZWZhdWx0IGlzIFJFQURfT05MWSAoaS5lLiBhIHNoYXJlZCBsb2NrKS4KICAgICAv
LyBUaGF0J3MgZmluZSBmb3IgdGhpcyBjYXNlLCBidXQgbGF0ZXIgd2UnbGwgYXNrIGZvciBJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFLiBBdCB0aGUgbW9tZW50LAogICAgIC8vIENocm9taXVtL1dl
YktpdCBwcmV0ZW5kcyBldmVyeSB0cmFuc2FjdGlvbiBpcyBSRUFEX1dSSVRFLCB3aGljaCBpcyBr
aW5kIG9mIGJhZC4KLSAgICB3aW5kb3cuY3VycmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rp
b24oW10sIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpOworICAgIHdpbmRvdy5jdXJyZW50VHJh
bnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbigicGVvcGxlIiwgSURCVHJhbnNhY3Rpb24uUkVBRF9X
UklURSk7CiAgICAgY3VycmVudFRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29t
cGxldGU7CiAgICAgY3VycmVudFRyYW5zYWN0aW9uLm9uYWJvcnQgPSBvblRyYW5zYWN0aW9uQWJv
cnRlZDsKIApAQCAtMjY2LDEwICsyNjUsOCBAQCBmdW5jdGlvbiB1bmV4cGVjdGVkQ29tcGxldGUo
KQogCiBmdW5jdGlvbiBvblRyYW5zYWN0aW9uQWJvcnRlZCgpCiB7Ci0gICAgLy8gTm93IGxldCdz
IG1ha2UgYSByZWFsIHRyYW5zYWN0aW9uIGFuZCBhIHBlcnNvbiB0byBvdXIgb2JqZWN0U3RvcmUu
IEp1c3QgdG8gc2hvdyBpdCdzIHBvc3NpYmxlLAotICAgIC8vIHdlJ2xsIG9taXQgdGhlIG9iamVj
dFN0b3JlTmFtZXMgcGFyYW1ldGVyIHdoaWNoIG1lYW5zIHdlJ2xsIGxvY2sgZXZlcnl0aGluZyBl
dmVuIHRob3VnaCB3ZSBvbmx5Ci0gICAgLy8gZXZlciBhY2Nlc3MgInBlb3BsZSIuCi0gICAgd2lu
ZG93LmN1cnJlbnRUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFtdLCBJREJUcmFuc2FjdGlv
bi5SRUFEX1dSSVRFKTsKKyAgICAvLyBOb3cgbGV0J3MgbWFrZSBhIHJlYWwgdHJhbnNhY3Rpb24g
YW5kIGEgcGVyc29uIHRvIG91ciBvYmplY3RTdG9yZS4KKyAgICB3aW5kb3cuY3VycmVudFRyYW5z
YWN0aW9uID0gZGIudHJhbnNhY3Rpb24oInBlb3BsZSIsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpOwogICAgIGN1cnJlbnRUcmFuc2FjdGlvbi5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Owog
CiAgICAgdmFyIHBlb3BsZSA9IGN1cnJlbnRUcmFuc2FjdGlvbi5vYmplY3RTdG9yZSgicGVvcGxl
Iik7CkBAIC0zMDcsNyArMzA0LDcgQEAgZnVuY3Rpb24gb25QdXRUcmFuc2FjdGlvbkNvbXBsZXRl
KCkKICAgICAvLyBPSywgbm93IGxldCdzIHF1ZXJ5IHRoZSBwZW9wbGUgb2JqZWN0U3RvcmUgaW4g
YSBjb3VwbGUgZGlmZmVyZW50IHdheXMuIEZpcnN0IHVwLCBsZXQncyB0cnkgZ2V0LgogICAgIC8v
IEl0IHNpbXBseSB0YWtlcyBpbiBhIGtleSBhbmQgcmV0dXJucyBhIHJlcXVlc3Qgd2hvc2UgcmVz
dWx0IHdpbGwgYmUgdGhlIHZhbHVlLiBOb3RlIHRoYXQgaGVyZQogICAgIC8vIHdlJ3JlIHBhc3Np
bmcgaW4gYW4gYXJyYXkgZm9yIG9iamVjdFN0b3JlTmFtZXMgcmF0aGVyIHRoYW4gYSBzaW1wbGUg
c3RyaW5nLgotICAgIHdpbmRvdy5jdXJyZW50VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbihb
InBlb3BsZSJdLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFLCAwKTsKKyAgICB3aW5kb3cuY3Vy
cmVudFRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oWyJwZW9wbGUiXSwgSURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSk7CiAgICAgY3VycmVudFRyYW5zYWN0aW9uLm9uYWJvcnQgPSB1bmV4cGVj
dGVkQWJvcnQ7CiAKICAgICB2YXIgcGVvcGxlID0gY3VycmVudFRyYW5zYWN0aW9uLm9iamVjdFN0
b3JlKCJwZW9wbGUiKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>